laravel построитель запросов поиск по всем полям - PullRequest
0 голосов
/ 18 марта 2020

Ребята, мне нужен фильтр, который проверяет все поля с помощью orWhere, например: users? Search = Jhon он должен проверить, что в имени есть электронная почта jhon .... Кто-нибудь делал это? благодарный

Ответы [ 2 ]

0 голосов
/ 20 марта 2020

Вы можете получить этот тип.

$ query = User :: query ();

$ columns = ['name', 'фамилия', 'address'] ;

foreach ($ столбцы как $ столбец) {

$ query-> orWhere (столбец $, 'LIKE', '%'. $ Input. '%');

}

$ users = $ query-> get ();

0 голосов
/ 18 марта 2020

То же самое с другим ответом, вы должны использовать несколько orWhere (), чтобы сделать это. Вот пример

$search = 'Jhon';
$conditions = ['name', 'email'];                          
$data = User::where(function ($query) use ($conditions, $search) {
    foreach ($conditions as $column)                                
        $query->orWhere($column, 'like', '%' . $search . '%');      
})->get(); 
...