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

ale*_*exn 5 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,
        )
    );
Run Code Online (Sandbox Code Playgroud)

将在开始页面选择所有答案,这不是最佳选择.我怎么能排除这个特定方法的答案?

谢谢

duc*_*lip 5

我快速查看CakePHP API,发现你在Model上有一个unbindModel方法.所以在你的例子中你可以这样做:

$this->Question->unBindModel(array('hasMany' => array(’Answer’)))
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用Containable行为仅选择当前页面视图所需的MySQL部分.