我有两个表如下:Yii的加入与不标准
Invoices
---------
id
job_id
amount
Jobs
----
id
from
time
如何创建一个警予CDbCriteria找到工作这不是发票?
如果我有一个从作业到发票的HAS_MANY
关系,如何在搜索功能中添加此项?
我有两个表如下:Yii的加入与不标准
Invoices
---------
id
job_id
amount
Jobs
----
id
from
time
如何创建一个警予CDbCriteria找到工作这不是发票?
如果我有一个从作业到发票的HAS_MANY
关系,如何在搜索功能中添加此项?
与SQL
$items= Yii::app()->db->createCommand(
'SELECT * FROM Jobs \
WHERE Jobs.job_id NOT IN (\
SELECT job_id \
FROM Invoices)')->queryAll();
如果你真的需要使用的标准,你可以尝试addNotInCondition
方法(自v1.1.1可用)溶液。
请检查缩进是否正确。 –
左连接怎么样?
$criteria->join = 'LEFT JOIN Invoices i ON i.job_id = t.id';
$criteria->addCondition('i.job_id IS NULL');
或
$criteria->with(array('relationName'));
$criteria->addCondition('relationName.id IS NULL');
这将在发票表中选择那些没有。
您现在尝试过吗? –
您可以使用查询而不使用CDbCriteria。 –
@kumar_v可能否,否则OP在Question中写了一个查询。 –