Конвертировать SQL-запрос в красноречивый - PullRequest
0 голосов
/ 27 апреля 2018

Я пытаюсь преобразовать запрос в запрос Laravel, но когда я использую raw method, я не могу заставить его работать.

Мой запрос:

SELECT * FROM leagues
   WHERE SOUNDEX(name) 
      LIKE CONCAT('%',SUBSTRING(SOUNDEX('Eng. Premier League'),5),'%');

Я не смог найти в Интернете никаких документов, которые бы мне ответили.

1 Ответ

0 голосов
/ 27 апреля 2018

Вы можете использовать WhereRaw() для преобразования этого запроса в Laravel Query Builder.

DB::table('leagues')
  ->whereRaw("SOUNDEX(name) 
             LIKE CONCAT('%',SUBSTRING(SOUNDEX('Eng. Premier League'),5),'%')");

если вы не предпочитаете WhereRaw(), тогда вы должны использовать DB::raw() в ваших условиях

DB::table('leagues')
  ->where( DB::raw('SOUNDEX(name)'), 'LIKE', DB::raw("CONCAT('%',SUBSTRING(SOUNDEX('Eng. Premier League'),5),'%')") ); 

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...