如何从CakePHP中的关联模型中排除记录?

时间:2008-12-18 13:58:54

标签: php cakephp

我在CakePHP中创建了一个Q& A应用程序,我希望在某些情况下排除我的关联。想象一下:

我在第一页上列出所有问题,使用$ this-> Question-> findAll();.由于我的模型中有以下关联:

public $hasMany = array('Answer' =>
        array('className' => 'Answer',
            'order' => 'Answer.created DESC',
            'foreignKey' => 'post_id',
            'dependent' => true,
            'exclusive' => false,
        )
    );

将在开始页面选择所有答案,这不是最佳选择。我该如何排除这种特定方法的答案?

由于

2 个答案:

答案 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/