Laravel like where, orWhere
Делаю поиск по базе, хочу, чтоб дал результат по первым параметрам, то есть, сначала дать все совпадения с title, потом после этого - совпадения с full. Пробовал через where and orWhere, не получилось.
$ads = $ads->where('title', 'LIKE', '%' . $request->input('q') . '%')->where('status','active')->orWhere('full', 'LIKE', '%' . $request->input('q') . '%')->where('status','active');
Ответы (1 шт):
Автор решения: Ivan Dudarev
→ Ссылка
<?php
$term = '%' . $request->input('q') . '%';
$ads = $ads
->where(function ($query) use ($term) {
$query
->where('title', 'LIKE', $term)
->orWhere('full', 'LIKE', $term)
;
})
->where('status','active')
;