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