使用可包含时,HABTM相关记录未按条件过滤

时间:2013-12-04 23:28:33

标签: cakephp cakephp-2.1 containable

Model1 HABTM Model2。在Model1的模型类中,我有以下代码:

public class Model1 extends AppModel
{
    function getResult()
    {
        $this->contain('Model2', array(
            'conditions' => array('Model2.name' => 'foo')
        ));
        $result = $this->findByRelatedId($careNoteId);
        return $result;
    }
}

结果包含所有相关的Model2记录。如果该记录的名称是“foo”,它应该只返回Model2记录。没有错误,条件永远不会添加到SQL中。

包含在AppModel的actsAs属性中声明。

是什么给出了?

1 个答案:

答案 0 :(得分:0)

我的语法错了。这些语法是正确的:

        $this->contain(array(
            'Model2' => array(
                'conditions' => array('Model2.name' => 'foo')
            )
        ));

        $this->contain('Model2', array(
            'Model2' => array(
                'conditions' => array('Model2.name' => 'foo')
            )
        ));