Используя Laravel Fluent Query Builder, есть ли способ поиска текста на основе 2 подстрок?

Предполагая, что у меня есть строки в базе данных, которая выглядит следующим образом:

The quick brown fox 0 jumps over the lazy dog 0.
The quick brown fox 0 jumps over the lazy dog 1.
The quick brown fox 0 jumps over the lazy dog 2.
The quick brown fox 1 jumps over the lazy dog 0.
The quick brown fox 1 jumps over the lazy dog 1.
The quick brown fox 1 jumps over the lazy dog 2.

Есть ли способ найти 2 подстроки, используя Laravel Fluent Query Builder?

Скажем, я ищу «лиса 0» и «собаку». Ожидаемый результат будет:

The quick brown fox 0 jumps over the lazy dog 0.
The quick brown fox 0 jumps over the lazy dog 1.
The quick brown fox 0 jumps over the lazy dog 2.

Вот что у меня сейчас есть:

$searchStr = ["fox 0", "dog"];
$query->where('text', '=', $searchStr);

0

Решение

Условие SQL-запроса, которое даст вам такие результаты: where text like '%fox 0%' and text like '%dog%',

Чтобы перевести на свободный запрос было бы:

$query->where('text', 'like', '%fox 0%')->where('text', 'like', '%dog%');

Или, следуя вашему массиву:

$searchStr = ["fox 0", "dog"];
foreach($searchStr as $str) {
$query->where('text', 'like', '%'.$str.'%');
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]