Как искать по букве в столбце в базе данных (laravel)

Я хочу найти по букве first_name клиента в моей таблице «клиенты».

And the only thing that I get is an empty array.

For instance, I put in the parameter 'q' value 'E' to get customer Elena from my database by I get an only empty array.

Я использую следующий код для получения first_name : $search = Input::get('q');

    if ($search)
    {
        $customers = Customer::all()->where('full_name', 'LIKE', "%{$search}%");
        return ($customers);
    }

Can someone help me?

Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
0
422
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Попробуй это

$customers = Customer::where('full_name', 'LIKE', "%{$search}%")->get();

Ларавель Красноречивый

Это сработало! благодарю вас !! но могу ли я узнать, почему мой вариант не сработал?

Mindru Ion 27.07.2019 01:27

@Мариус рад, что это помогает. можешь пометить это как ответ :)

schutte 27.07.2019 01:28

Ваш запрос не работает, потому что вы вызываете метод all() перед where(). На самом деле это не так, но у него другое поведение.

Когда вы вызываете all(), он фактически выполняет SQL-запрос. После этого любые связанные методы вызываются в класс Eloquent Collection, и у него также есть метод where, но это проще, поскольку он работает на PHO, а не на SQL.

Поскольку метод коллекции where() не поддерживает оператор LIKE, он, вероятно, ищет значение, которое точно равно %E%.

Надеюсь, это поможет вам понять, почему ваш запрос не работает должным образом.

Очень полезное объяснение.

Watercayman 27.07.2019 01:58

Другие вопросы по теме