Запрос MySQL не заполняет правильные записи в LaravelPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Запрос MySQL не заполняет правильные записи в Laravel

Сообщение Anonymous »

Я пытаюсь отфильтровать данные с помощью поисковых запросов.

Код: Выделить всё

$query = Lesson::select('lesson.*')
->join('lesson_language', 'lesson_language.lesson_id', 'lesson.id')
->leftJoin('content', 'content.lesson_id', 'lesson.id')
->leftJoin('lesson_role', 'lesson_role.lesson_id', 'lesson.id')
->leftJoin('lesson_brand', 'lesson_brand.lesson_id', 'lesson.id')
->leftJoin('lesson_category', 'lesson_category.lesson_id', 'lesson.id');

// filter by search term
if(isset($request['search_term']) && $request['search_term'] != '') {
$term = strtolower($request['search_term']);
$term = str_replace('"', '', str_replace("'", '', $term));

if((clone $query)->where('lesson_language.name', 'LIKE', "{$term}%")->count()) {
$query->where('lesson_language.name', 'LIKE', "{$term}%");
}
else {
$searchValues = preg_split('/\s+/', $term, -1, PREG_SPLIT_NO_EMPTY);
$query->where(function ($q) use ($term) {
$q->orWhere('lesson_language.name', 'LIKE', "%{$term}%")
->orWhere('lesson.content_skus', 'LIKE', "%{$term}%");
//                                ->orWhere('lesson.content_terms', 'LIKE', "%{$subTerm}%")
//                                ->orWhere('lesson.id', $subTerm);
});
}
}
Этот оператор else не работает. Запрос для этого:

Код: Выделить всё

select `lesson`.*
from `lesson`
inner join `lesson_language` on `lesson_language`.`lesson_id` = `lesson`.`id`
left join `content` on `content`.`lesson_id` = `lesson`.`id`
left join `lesson_role` on `lesson_role`.`lesson_id` = `lesson`.`id`
left join `lesson_brand` on `lesson_brand`.`lesson_id` = `lesson`.`id`
left join `lesson_category` on `lesson_category`.`lesson_id` = `lesson`.`id`
where (`lesson_language`.`name` LIKE '%washer and dryer maintenance%')
and `lesson`.`deleted_at` is null
Я пытаюсь найти «обслуживание стиральных и сушильных машин», и эта запись существует в базе данных.
Почему не извлекаются правильные записи?

Подробнее здесь: https://stackoverflow.com/questions/761 ... in-laravel
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»