Проблема с фильтрацией Select2 в GridView
Есть 2 базы данных Одна имеет id,serial_number, store_id Вторая только id Связь идет один store_id к многим id Задача - настроить фильтр на store_id ( вывод всех устройств на складе) Проблема - не работает, не могу понять почему код ругается на строку
'attribute' => 'store_id',
Вот реализация поиска
public function search($params){
{
$query = Device::find()->with('device');
$dataProvider = new ActiveDataProvider([
'query' => $query
]);
$this->load($params);
$query->andFilterWhere([
'id' => $this->id,
'serial_number' => $this->serial_number,
]);
return $dataProvider;
}
}
Вот реализация GridView
echo GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
'serial_number',
[
'format' => 'raw',
'value' => function ($model) {
return Html::a(
$model->store_id,
'#',
[
'data-store-id' => $model->store_id,
'data-target' => 'modal',
]
);
},
'filter' => Select2::widget([
'model' => $searchModel,
'attribute' => 'store_id', //
'data' => ArrayHelper::map(Store::find()->all(),'store_id','id'),
'theme' => Select2::THEME_BOOTSTRAP,
'hideSearch' => true,
'value' =>'devices',
'options' => [
'class' => 'form-control',
'placeholder' => 'Select a store ...'
],
'pluginOptions' => [
'allowClear' => true,
'selectOnClose' => true,
],
])
],
'about',
'created_at',
['class' => 'yii\grid\ActionColumn'],
],
]);
А вот контроллер
public function actionIndex()
{
$searchModel = new SearchDevices();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
return $this->render(
'index',
[
// 'searchModel' => $searchModel,
// 'dataProvider' => $dataProvider,
]
);
}
_____________________________________________