含有cakephp的条件找到

时间:2013-12-03 01:26:43

标签: php cakephp cakephp-1.3 php-5.3

在CakePHP中,在查找查询的contain中设置条件是好的还是坏的做法,如:

$data = $this->SomeModel->find('all', array(
    'contain' => array(
        'AnotherModel' => array(
            'conditions' => array(
                // some conditions
            )
        )
    )
));

在哪种情况下,将条件置于包含内是有用的,何时应该使用它。对不起,这对我来说仍然很困惑。

谢谢

1 个答案:

答案 0 :(得分:0)

我不确定这是不是一个好主意......首先,我要假设这个具体案例要求你指定这种情况特有的条件,即不够通用将SomeModel模型关系标准转换为AnotherModel

我的建议是你应该将这些条件放在你的整体查找条件中,因为包含指定要返回的链接模型(控制引擎盖下的连接)。与在SQL中一样,您可以加入另一个表,并在WHERE子句中指定要匹配的记录。

From the manual,您可以指定您的包含条件,但它们不会影响加入您的模型的结果,如整体条件将

我会这样做:

$data = $this->SomeModel->find('all', array(
    'contain' => array('AnotherModel'),
    'conditions' => array(
        // some conditions relating to AnotherModel
    )
));