Установил и привязал теги к "Клиентам" по инструкции creocoder/yii2-taggable, всё работает как нужно. Как привязать фильтр к этим тегам в GridView?
view/index
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
//...
[
'attribute' => 'interests',
'format' => 'html',
'value' => function ($data) {
return $data->tagValues;
},
],
],
]); ?>
и модель поиска (сгенерирована Gii)
$query->andFilterWhere(['like', 'full_name', $this->full_name])
->andFilterWhere(['like', 'phone', $this->phone])
->andFilterWhere(['like', 'email', $this->email])
->andFilterWhere(['like', 'address', $this->address])
->andFilterWhere(['like', 'photo', $this->photo])
// Как тут отфильтровать по тегам?
->andFilterWhere(['like', 'interests', $this->interests]);
return $dataProvider;
решение: Нужно было добавить innerJoin
к запросу поиска и указать таблицу в фильтре вот так
public function search($params)
{
$query = Clients::find()->innerJoinWith('interest', true);
// add conditions that should always apply here
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
$this->load($params);
//...
$query->andFilterWhere(['like', 'full_name', $this->full_name])
//...
->andFilterWhere(['like', 'interest.name', $this->interest])
return $dataProvider;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В основной теме, не дочерней, в файле functionsphp используется код для вывода хлебных крошек без использования хуков, примерно так:
Я хочу создать на своем сайте систему антиплагиатаТо есть, перед публикацией текста, он должен проверяться на количество копипаста
Нужна помощь, существует ли общий инструмент кодирования/декодирования строк для php и консоли windows (cmd/PowerShell)? Поавторитетней с использованием...