1

我的视图中有以下表格:

echo $this->Form->create('Listing',array('type' => 'file'));
echo $this->Form->select('',array('0'=>'Τα καλύτερα','1'=>'Οι καλύτεροι','2'=>'Οι καλύτερες'));
echo $this->Form->input('title');
for ($i = 0; $i < 5; $i++) {
    echo $this->Form->input('Item.content.'.($i+1),array('label'=>'Προσθήκη αντικιμένου'));
}
echo $this->Form->input('picture', array('type' => 'file','label'=>'Φωτογραφία:'));
echo $this->Form->input('description', array('rows' => '4','label'=>'Περιγραφή:'));
echo $this->Form->end('Αποθήκευση Λίστας');

控制器具有以下代码:

public function add() {

        if ($this->request->is('post')) {

            if ($this->Listing->Save($this->request->data)) {

                $this->request->data['Item']['listing_id'] = $this->Listing->id;
                $this->Listing->Item->save($this->request->data);   
                $this->Session->setFlash('Η λίστα αποθηκεύτηκε');   
                $this->redirect(array('action' => 'index'));
            } else {
                $this->Session->setFlash('Αδύνατη η αποθήκευση της λίστας.');
            }
        }   
}

input如果我在表单中有一个内容,上面的控制器就可以工作,但是如果我for在视图中使用多个循环,input它就不起作用了。如何将多个内容保存input在关联表中?我试过了saveMany(),但没有任何效果saveAssociated()saveAll()显然我做错了什么。有什么建议吗?

4

2 回答 2

0
for ($i = 0; $i < 5; $i++) {
    echo $this->Form->input('Item.content.'.($i+1),array('name' => 'data[Item][content][]', 'label'=>'Προσθήκη αντικιμένου'));
}
于 2012-04-19T15:18:08.583 回答
0

将您的 for 语句更改为:

for ($i = 0; $i < 5; $i++) {
    echo $this->Form->input('Item.'. $i+1 .'.content', array('label'=>'Προσθήκη αντικιμένου'));
}
于 2012-04-19T13:17:37.147 回答