WhereIn в сериализованном base64 кодированном значении столбца MySql в laravel 5 - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть сериализованный столбец в кодировке base64 в таблице MySQL.всякий раз, когда я сохраняю значение в нем, я сохраняю его следующим образом:

$category_id = base64_encode(serialize($request->category_id));

И всякий раз, когда я хочу восстановить его значение до нормального значения, я использую следующий код в моей модели:

 public function getCategoryIdAttribute($value)
    {
        return unserialize(base64_decode($value));
    }

Проблема в том, как я могу написать красноречивый запрос для проверки значений этого столбца?

давайте предположим, что после десериализации и декодирования в базе данных у меня есть: category_id : [1, 5, 3, 9],

И переменная cat_id: $cat_id = [3]; или $cat_id = [1, 9];

как мне написать свой запрос, чтобы иметь возможность проверить, находится ли моя переменная в массиве category_id?

Я имею в виду что-то вроде:

Seat::WhereIn('category_id', $cat_id);

Должен ли я написать свой запрос следующим образом:

Seat::WhereIn('category_id', base64_encode(serialize($cat_id)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...