我做了一些分配参数的方法,但它不起作用
这是我的代码:
$sqlDefault = "Select * from histories as h where h.status like % :status %";
return DB::select(DB::raw($sqlDefault), ['status' => $status]);
它不起作用,所以我尝试了另一种分配方式:
'%:status%'
或 '%':status'%'
但是不行
现在我不使用参数而且它工作得很好
$sqlDefault = "Select * from historys as h where h.status like '%$status%'";
问题是在将 like 运算符与“%”一起使用时如何使用参数?
最佳答案
将 $status
替换为 '%'.$status.'%'
$sqlDefault = "Select * from histories as h where h.status like :status ";
return DB::select(DB::raw($sqlDefault,['status' => '%'.$status.'%']));
或者只使用选择:
return = DB::select(sqlDefault , ['status' => '%'.$status.'%']);
关于mysql - Laravel 使用 Like 运算符和 '%"通过原始查询添加参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45363837/