我有一个Contract
模型,即hasMany
模型的Debt
条记录。
我正在使用包含来获取这些债务记录。但我需要过滤掉任何没有债务的记录 为此,我需要添加子查询或加入。
还有其他方法吗?
和
哪个更好?
答案 0 :(得分:0)
考虑到你从合约中排除债务,使用CakePHP你应该使用加入选项:
$options['joins'] = array(
array('table' => 'debts',
'alias' => 'Debt',
'type' => 'LEFT',
'conditions' => array(
'debt.id = Contract.debt_id',
'debt.value IS NULL'
)
)
);
$contracts = $Contract->find('all', $options);
或者也许试试
$this->Contract->find('all', array(
'contain' => array("Debt.value" => null)
));