2015-12-28 78 views
0

加入我以前寫的查詢,這是懶惰laoded,並通過這樣的關係下令:Yii2渴望負荷由關係

Item::find() 
->orderBy([Token::tableName() . '.featured' => SORT_DESC; 

因爲我已經改變了查詢加載渴望,但我遇到了一些麻煩現在試圖對關係進行排序。

Item::find() 
->with('Token') 
->orderBy(['token.featured' => SORT_DESC]); 

我嘗試了這種方式和我的調用Token::tableName() . featured。但我一直在收到未知的專欄。在Yii2中急切需要AR的正確方法是什麼?

+0

重複的問題與詳細的解釋:http://stackoverflow.com/questions/26731512/yii2-activequery-with-not-working/26733406#26733406 – PLM57

+0

@ PLM57我剛剛投了你的q和a。非常微妙的差異,我忽視了 – Jonnny

+0

剛剛看到它......感謝很多人。我顯然遇到了同樣的問題; D – PLM57

回答

1

在Yii2中with通過運行單獨的查詢確實加載。實際做的SQL連接,使用joinWith

Item::find() 
    ->joinWith('token') 
    ->orderBy(['token.featured' => SORT_DESC]); 

這應該工作,假設你的關係在Item類的getToken()方法定義和其表稱爲token