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]);' –