2013-07-26 25 views

回答

1

你不能讓「設備的PHP警予我有以下查詢

select d.* from customer_service_provider csp inner join (select id_customers from customer_devices cd where id_devices=2) as c on csp.id_customers=c.id_customers inner join user_devices ud on ud.id_users = csp.id_users inner join devices d on d.id = ud.id_devices 

我怎麼能寫在PHP的警予參加在PHP警予查詢'(d。*)FROM'customer_service_provider'與$ criteria和CActiveDataProvider。

因爲CActiveDataProvider需要一個模型將查詢結果轉換爲該模型的對象列表,但在這種情況下,您必須傳遞模型的'customer_service_provider'類。

對不起我的英語..

+0

'CDbCriteria'支持連接就好了。你可以從一個模型發現者構建一個'CActiveDataProvider',其標準具有連接:'$ finder = new CSP(); $ finder-> dbCriteria-> mergeWith(array('join'=>'foo'));新的CActiveDataProvider($ finder);' – DCoder

+0

我不是說CDbCriteria沒有加入,說你不能傳遞給CActiveDataProvider一個模型,等着拿另一個。 –