我有兩個表如下: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中寫了一個查詢。 –