【发布时间】:2023-03-07 02:49:02
【问题描述】:
我一直在寻找所有类型的解决方案,但都不起作用。我在 bredbook.php 和 Genre.php 中有两个模型,Bredbook 和 Genre,与 HABTM 相关联。无法保存关联。
这是一个模型的代码:
public $hasAndBelongsToMany = array('Bredbook' => array('className' => 'Bredbook',
'joinTable' => 'bredbooks_genres',
'foreignKey' => 'genre_id',
'associationForeignKey' => 'bredbook_id'));
这是表格:
echo $this->Form->create('Bredbook', array('action' => 'firstConnection'));
echo $this->Form->input('Genre', array('options' => $genres, 'empty' => false));
echo $this->Form->end('Validate');
在 BredbooksController.php 中:
if ($this->request->data)
{
if($this->Bredbook->saveAssociated($this->request->data))
return $this->redirect('/bredbooks/index');
}
bredbook 的创建没问题,但是表 bredbooks_genres 中没有创建关联。我已经尝试了一切...欢迎任何帮助。
【问题讨论】:
-
在保存前添加一个 debug($this->request->data) 并让我们知道结果
-
对不起,我写了这一行,我已经将调试设置为2,但我不知道应该打印在哪里......
-
没关系,我愚蠢地保留了重定向...这是数组:array('Bredbook' => array('Genre' => '3'))
-
基于book.cakephp.org/2.0/en/models/…,我认为你的数组应该是这样的:
array('Bredbook' => array(), 'Genre' => array('id' => 3)),但我并不肯定。 -
在这里发布调试后我也尝试过。我只尝试了流派 id、整个对象和不同级别(与“Bredbook”相同、“Bredbook”内部等)。我也在尝试几个功能(save、saveAssociated...),因为我不知道我需要使用哪一个...我已经卡了好几天了。
标签: cakephp save associations has-and-belongs-to-many