#php #mysql #laravel-5.3
#php #mysql #laravel-5.3
Вопрос:
Я работаю над Laravel 5.3, и у меня есть where
условие, query
подобное :
$query = $query->where('city', '=', $city);
Моя проблема в том, что переменная, которую $city
мне нужно сравнить, — это сокращенная версия городов в базе данных, например, если в базе данных у меня есть Boston Texas
город, в моей переменной у меня есть boston-texas
Как я могу сравнить эти значения? Есть ли способ динамического получения версии slug в SQL? С помощью Laravel?
Комментарии:
1. Это зависит от того, есть ли у вас таблица сопоставления между версией slug и фактическим текстом, или вы можете алгоритмически воспроизвести версию slug из обычного текста.
2. Попробуйте
str_slug()
вспомогательную функцию. Документы: laravel.com/docs/5.3/helpers#method-str-slug Кроме того,where()
метод принимает замыкание, так что вы можете провести сравнение там.3. Что-то вроде where(str_slug(‘city’), ‘=’, $city); ? Но при этом я использую слово city, а не значение