Cześć,
piszę pewną aplikację i mam problem jak napisać jedno zapytanie z query buildera.
W bazie danych mam dwie kolumny - IMIE oraz NAZWISKO.
Potrzebuje Ajaxem wyciągnąć dane z bazy na podstawie wpisywanych danych w inpucie na stronie (coś na zasadzie Facebookowej wyszukiwarki, piszemy imie i nazwisko, a z każdą kolejną litera pojawiają się pod spodem coraz trafniejsze sugestię).
Napisałem juz działający skrypt, który porównuję wpisywany string z IMIENIEM albo (OR) NAZWISKIEM.
Czyli jak dajmy na to mamy w bazie JAN KOWALSKI. To po wpisaniu JAN wyskoczy mi prawidłowo wspomniany użytkownik. Tak samo kiedy wpiszę KOWALSKI
$user = User::where('name', 'like', '%' . $request['name'] . '%')
->orWhere('surname', 'like', '%' . $request['name'] . '%')
->whereHas('roles', function ($query) {
$query->where('role_id','1');
})
->take(5)->get();
Chciałbym natomiast, żeby zwracało mi również dane kiedy string będzie zawierał w sobie obie kolumny oddzielone jakimś znakiem, np. spacją. Czyli np. JAN KOWAL.
Osiągnąłem kiedyś podobnyefekt pisząc ręcznie query z concatem:
WHERE CONCAT(IMIE, ' ', NAZWISKO) LIKE '%zmienna%'
Czy coś w tym stylu bo pisze teraz z palca.
Prawdopodobnie rozwiązał bym to w ten czy inny sposób samemu, jednak problem nie wydaje mi się być, aż tak unikatowy, żeby trzeba było pisać query ręcznie, jednak w necie nie widzę niestety informacji na ten tamat :P