Laravel Eloquent: выберите записи, где одно поле равно другому - PullRequest
0 голосов
/ 19 февраля 2020

Я прошу прощения, если это дублируется. Возможно ли в Eloquent ORM выбрать записи, в которых одно поле равно другому? В MySQL это означает:

SELECT Id, Url, ModelId 
WHERE Url LIKE CONCAT('%', ModelId, '%')

Возможно ли это сделать в Eloquent или я вынужден использовать необработанные запросы?

1 Ответ

1 голос
/ 19 февраля 2020

Для поля, равного другому в конструкторе запросов (и eloquent), это whereColumn('Url', 'LIKE', 'ModelId'), но, поскольку у вас есть дополнительные вещи во второй части, вам нужно будет использовать необработанные запросы, например,

DB::table('table')
   ->select('Id', 'Url', 'ModelId')
   ->where('Url', 'LIKE', DB::raw("CONCAT('%', ModelId, '%')"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...