Если я делаю выборку данных через find(), то все работает, здесь все понятно:
$query = Products::find()
->select('id, model_id, content')
->with('productmodel')
->where(['shops_id' => Yii::$app->user->id]);
$dataProvider = new ActiveDataProvider(
[
'query' => $query,
]);
GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
['class' => 'yii\grid\ActionColumn'],
[
'attribute' => 'model_id',
'value' => function($data){
return $data->model_id;
},
],
],
]);
Но если через (new \yii\db\Query()), то выводит пустые строки:
$query = (new \yii\db\Query())
->select(['p.id', 'm.model'])
->from(['p' => Products::tableName()])
->innerJoin(['m' => 'model_product'], 'm.id = p.model_id')
->where(['shops_id' => Yii::$app->user->id]);
$dataProvider = new ActiveDataProvider(
[
'query' => $query,
]);
GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
['class' => 'yii\grid\ActionColumn'],
[
'attribute' => 'model',
'value' => function($data){
return $data->model; // Так уже не работает
},
],
],
]);
Как поместить в GridView данные полученные через (new \yii\db\Query())??