我能夠找到構建子查詢的簡單示例,但是當我需要包含WHERE條件時無法找出解決方案並找到解決方案。我試圖模仿下面的語句...在Yii2中使用WHERE條件選擇子查詢find()/ QueryBuilder
SELECT ParentTable.*, (SELECT MAX(ChildTable.NumberField)
FROM ChildTable
WHERE ChildTable.FK_Id = ParentTable.Id)
FROM ParentTable
想我會需要像...
$query = ParentClass::find()
->addSelect(
ChildClass::find()
->where('childTable.fk_id=parentTable.id')
->max('childTable.field1')
);
但它給我一個錯誤:未找到列:1054未知列' parentTable.id」在 'where子句'
編輯: 包括實際的類/表名...
$endQuery = UnitSchedule::find()
->where('cm_courseschedule.id=cm_unitschedule.csch_id')
->max('cm_unitschedule.slot');
$query = CourseSchedule::find();
$query->addSelect($endQuery);
什麼是你的表的名稱和相應的類? – topher
我知道我的班級名稱和表名是正確的。不過,相應地編輯了我的問題。 –
您是否還可以在錯誤中包含sql語句? – topher