我試圖使用Laravel的查詢構建器連接兩個表,但是我似乎遇到了使用查詢構建器獲得所需結果的問題,但是我可以很簡單地使用原始SQL語句獲取它。我只想返回tags
表中tag
列中具有相應值的所有mod行。Laravel Querybuilder加入LIKE
Schema
--------------
mods
--------------
id - int - (primary key)
name - varchar
--------------
tags
--------------
id - int
modid - int - (primary key of its parent mod)
tag - varchar
工作SQL查詢
SELECT * FROM mod JOIN tags ON tags.tag LIKE '%FPS%'
查詢生成器
DB::table('mods')
->join('tags', function ($join) {
$join->on('tags.tag', 'like', '%FPS%');
})
->get();
目前,這是告訴我:Unknown column '%FPS%' in 'on clause'
但我不確定是怎麼回事構建此。我打算增加更多的orOn
子句以及我想要在多個標籤上得到結果,但首先我只想得到一個標籤工作。
感謝任何幫助。
是「FPS」常量或一個列? – sumit
對不起'tag'是該列,FPS是該值。我將發佈架構。爲了簡潔起見,我在那裏對FPS進行了硬編碼,但實際上它將是一個變量。 – XanT
laravel中連接的第三個參數需要是現有表的一列。 –