2
時不工作考慮下面的代碼:Laravel原始表達式包含通配符參數
$sql = "SELECT * FROM items WHERE name LIKE '%?%'";
$key = 'orange';
$result = \DB::select(\DB::raw($sql), [$key]);
結果始終沒有記錄!
,同時通過改變LIKE
到=
,它工作正常:
$sql = "SELECT * FROM items WHERE name = ?";
我不知道爲什麼發生這種情況,但我有使用RAW在此腳本。任何人都可以弄清楚問題在哪裏?
它現在的作品!謝謝。 – William
在這種情況下,您不需要在DB :: select中使用'DB :: raw'。後者已經具有運行原始sql的能力,所以你可以這樣做:'DB :: select($ sql,[$ key]);' –