我在CakePHP中创建了一个Q& A应用程序,我希望在某些情况下排除我的关联。想象一下:
我在第一页上列出所有问题,使用$ this-> Question-> findAll();.由于我的模型中有以下关联:
public $hasMany = array('Answer' =>
array('className' => 'Answer',
'order' => 'Answer.created DESC',
'foreignKey' => 'post_id',
'dependent' => true,
'exclusive' => false,
)
);
将在开始页面选择所有答案,这不是最佳选择。我该如何排除这种特定方法的答案?
由于
答案 0 :(得分:5)
我快速查看CakePHP API显示您在模型上有unbindModel方法。 所以在你的例子中你可以这样做:
$this->Question->unBindModel(array('hasMany' => array(’Answer’)))
或者,您可以使用Containable行为仅选择当前页面视图所需的MySQL部分。
答案 1 :(得分:0)
如果您使用CakePHP 1.2,您应该考虑可包含行为。有关详细信息,请参阅http://cakebaker.42dh.com/2008/05/18/new-core-behavior-containable/