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

Рейтинг: 1Ответов: 1Опубликовано: 11.06.2023

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

Например, у меня есть поиск, в котором пользователь вводит название товара, а ему выводится список товаров, названия которых совпали с его поиском (не слово в слово).

Пример: Название товара в базе данных Shoes, а пользователь написал shoes, sho, oes и ему выдается этот товар

Есть ли какой-нибудь способ это сделать в методе where (регулярные выражения также приветствуются)?

$name = $_GET['name'];
Product::where('name', $name)->get() ?? [];

Ответы

▲ 1Принят

В laravel, where может иметь и 3 параметра. Тогда второй параметр это сравнение. И оно может принять LIKE.

Код будет таким.

$name = $_GET['name'];
Product::where('name', 'LIKE', '%'.$name.'%')->get() ?? [];

Подробно можете прочитать в документации.