1
我有一個users
表參考orders
表,所以在我Users
模型,關係法聲明如下:無法檢索關係表的字段列ActiveDataProvider yii2
public function getOrders()
{
return $this->hasMany(Orders::className(), ['user_id' => 'user_id']);
}
我有一個功能,我我構建此查詢:
$stmt = Users::find()->select([
'users.first_name', 'users.last_name',
'users.user_id', 'orders.payment_method'
])->innerJoinWith('orders');
,將它傳遞給ActiveDataProvider
的query
屬性:
$dataProvider = new ActiveDataProvider([
'query' => $stmt,
'pagination' => [
'pageSize' => self::PER_PAGE,
],
]);
並返回$dataProvider
。
(注:此功能的生活,從yii/rest/Controller
擴展一個類下,所以每一個函數的返回數據預計將在JSON內容)
然而,當我調用這個函數,只有users
領域是返回/選擇,並保持orders.payment_method
丟失。這就是我需要得到:
[
{"first_name":"Gold","last_name":"Jacinto","user_id":1521,"payment_method":"CC"},
{"first_name":"Gold","last_name":"Jacinto","user_id":1521,"payment_method":"COD"}
]
,但得到這個輸出,而不是:
[
{"first_name":"Gold","last_name":"Jacinto","user_id":1521},
{"first_name":"Gold","last_name":"Jacinto","user_id":1521}
]
我缺少一些工藝或者什麼,我應該轉變成?任何幫助是極大的讚賞。
謝謝!
嗨@Deep,我不要以爲我們在那裏有同樣的問題。謝謝。 – Chisskarzz
當前查詢結果? –
您好@InsaneSkull,這是當前輸出: '[ {「first_name」:「Gold」,「last_name」:「Jacinto」,「user_id」:1521}, {「first_name」:「Gold」, 「last_name」:「Jacinto」,「user_id」:1521} ]' – Chisskarzz