我有一个段可以有很多注释,每个注释可以有很多标签。我可以使用下面的代码将注释绑定到段,这是段模型类中的一个函数。
function prepareForGettingSegmentsWithComments() {
$this->bindModel(
array('hasMany' => array(
'Comment' => array(
'className' => 'Comment',
'foreignKey' => 'segmentID'
)
)
)
);
}
但是我如何在标签中绑定?
答案 0 :(得分:0)
是的,在这种情况下,我使用belongsTo将标签绑定到评论。然后使用一些查询条件过滤结果。
让我看看我是否可以在某个地方找到一个示例代码段,
if(isset($this->params['named']['category'])){
$this->Link->bindModel(
array('belongsTo' => array(
'CategoriesLink' => array(
'className' => 'CategoriesLink',
'foreignKey' => 'id',
)
)),
array('belongsTo' => array(
'Category' => array(
'className' => 'Category',
'foreignKey' => 'categories_link_id',
)
))
);
$data = $this->paginate('Link', array('CategoriesLink.category_id'=>$this->params['named']['category']));
} else {
$data = $this->paginate('Link', array('Link.status_id'=>'1'));
}
$this->set('links', $data);
当我尝试通过相关字段对Link
模型进行分页时,我就是这样做的。这与Cake1.2有关,但我认为原理是一样的。
我还建议安装DebugKit,http://www.ohloh.net/p/cakephp-debugkit,然后修改链接和条件,直到得到适合您的查询。
对不起,不是非常技术性;)我相信有人可以给你一个更准确的答案。
PS,刚刚重读了这个问题,您是否已经将这些模型链接起来了?当然通过CakePHP关系将它们挂钩到模型中,您不需要绑定模型,只需使用Containable
或unbindModel()