不知何故,下面的代码不起作用 - 它打印所有的subforums,而不是只打印一个subforum和它的线程。CakePHP Containable哪里不行
代码:
(控制器类):
public function view($id)
{
$subforums = TableRegistry::get('subforums');
$query = $subforums->find('all');
$query
->contain('threads', function ($q) {
return $q->where(['threads.sub_forum_id' => 1]);
});
$this->set('query', $query);
}
(表)
public function initialize(array $config)
{
$this->hasMany('threads');
}
表结构:
CREATE TABLE `sub_forums` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`desc` text,
`forum_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `threads` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`body` text,
`sub_forum_id` int(11) DEFAULT NULL,
`last_post_date` varchar(255) DEFAULT NULL,
`starter` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
由于
提供你的表结构以及 –