Способ определить, совпадает ли «где нравится» на 100% с публикацией в Laravel?

#laravel

#laravel

Вопрос:

Есть ли способ определить, соответствует ли этот запрос:

 $news_result = Post::with('image')
    ->has('image')
    ->with('tags')
    ->where('title', 'LIKE', '%' . $search . '%')
    ->get();
  

Есть 100% совпадение с каким-либо заголовком? Если пользователь ищет «Какой-то случайный заголовок новости», а в базе данных есть запись с таким заголовком, чтобы вернуть какой-то маркер?

Комментарии:

1. 100% совпадением будет: -> where(‘title’, ‘LIKE’, $ search)

2. Просто измените where('title', 'LIKE', '%' . $search . '%') на where('title', $search)

3. Просто проверьте полученную модель, например, $post->title === $search . Если вам нужно сделать это на стороне базы данных, используйте SQL CASE statement для дополнительного поля.

Ответ №1:

LIKE Оператор используется для частичного сопоставления чего-либо.

Вы не должны использовать это, а ->where('title', $search) вместо этого.

Ответ №2:

Удалите ‘%’ в своем коде

 $news_result = Post::with('image')->has('image')->with('tags')->where('title', $search)->get();