【发布时间】:2015-02-20 20:52:55
【问题描述】:
在 2 个类之间创建多对多 (HABTM) 关系(如下面的代码)后,我希望看到包括相关记录在内的结果,但由于某种原因,这没有发生。
模型
App::uses('AppModel', 'Model');
class NewsCategory extends AppModel{
public $hasAndBelongsToMany = array('News');
}
App::uses('AppModel', 'Model');
class News extends AppModel{
public $hasAndBelongsToMany = array('NewsCategory');
}
我创建了一个名为“news_news_categories”的表,其中两个表都有 id。
控制器
this->data = $this->News->find('first', array('conditions' => array('News.id' => $id)));
以上代码的结果不包括相关的 NewsCategory 记录。
花了几个小时试图实现这一点后,我无法完成。
我在这里缺少什么?
提前谢谢大家!
更新
当我转储 CakePHP 使用的 SQL 代码时
echo $this->element('sql_dump');
结果未显示此关系的任何查询(或加入)。 CakePHP 只是忽略了 $hasAndBelongsToMany 配置。
【问题讨论】:
标签: php cakephp many-to-many has-and-belongs-to-many