Как найти начало строкового значения в таблице с Laravel Eloquent - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь выяснить, как решить следующий случай:

У меня есть список чисел в таблице, например:

223
5533
81
816

Теперь у меня есть запрос, который следует искать правильное число / с в таблице. Число в запросе может (например) выглядеть следующим образом:

223
2234
22367
55332

Теперь я пытаюсь найти правильный where -Клаузу в Laravel Eloquent для получения правильного "подстановочного знака" номера.

Упомянутые $requestNumber s должны привести к следующим результатам запроса:

$requestNumber = 223 => 223

$requestNumber = 2234 => 223 и 22367.

$requestNumber = 55332 => 5533.

$requestNumber = 816349 => 81 и 816

В моем понимании это должно быть противоположно следующему like запросу:

Number::where('number', 'like', $requestNumber. '%')->get();

I нужен "витой" способ (я знаю, что это невозможно):

Number::where('number' . %, 'like', $requestNumber)->get();

1 Ответ

0 голосов
/ 15 апреля 2020

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

Number::where(DB::raw('"' . $requestNumber . '"'), 'like', DB::raw('concat(number, "%")'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...