@kanly

Как решить проблемы с поиском GridView yii2?

Добрый день! Я сформировал через crud админку с gridview виджетом. И я в index файле изменил отображение
<?= GridView::widget([
        'dataProvider' => $dataProvider,
        'filterModel' => $searchModel,
        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],
            ['class' => 'yii\grid\ActionColumn'],

            // 'id',
            'name',
            'price',
            //'category_id',
            [
                'attribute'=>'category_id',
                'format'=>'raw',
                'value'=>function($data){
                    $catr = Category::find()->where(['id'=>$data->category_id])->one();
                    return $catr->name;
                }
            ],

        ],
    ]); ?>


как тут видите category_id заменил на name категории, и как тут в поиске изменить category_id на name категории, а то там по прежнему ищет category_id, мне надо чтобы искал name категории
  • Вопрос задан
  • 56 просмотров
Пригласить эксперта
Ответы на вопрос 1
zavoloklom
@zavoloklom
Fullstack разработчик
Вам нужно изменить SearchModel: добавить туда свойство category_name и поменять запрос к БД так, чтобы это свойство с одной стороны правильно выбиралось (добавить в select и не забыть про JOIN), а с другой по нему происходил поиск (если задано, то добавить соответствующий andFilterWhere).

Тогда вместо category_id в GridView можно будет использовать category_name.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы