@Pepper1

YII2 модель GRIDVIEW SEARCH поиск точного соответствия в строке через запятую, как сделать?

Всем привет.

У меня в моем сайте на YII2 категории статьи (их может быть много у одной статьи) хранятся в бд в строке (может быть так 12 или так 12, 19, 145).

Кто скажет, что неправильно так хранить - согласен, но уже поздно переделывать бд уже набита более 1000 строк таблицы статьи, не считая других связанных.

В выборе категорий используется GRIDVIEW и модель SEARCH: ->andFilterWhere(['like', 'cat', $this->cat]) и соответсвенно при выборе 1 будет показываться где есть 1, то есть 1 и 12, 19, 145. А нужно чтобы было строгое соответсвие, а без LIKE как выполнить поиск по строке таким способом я не знаю как... Что бы при выборе 1 показывался только один, а не везде где есть 1...

Может есть у кого какие мысли? Поделитесь как это можно исправить?
  • Вопрос задан
  • 63 просмотра
Решения вопроса 1
kawabanga
@kawabanga
В вашем случае https://oracleplsql.ru/mysql-function-find_in_set.html MySql (5.7) -
FIND_IN_SET( string, string_list )

Но если не менять особо структуры, я бы переписал на Json столбец, с ним работать приятнее.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы