将PHP变量插入Eloquent WhereRaw SQL

时间:2017-07-02 07:14:19

标签: php mysql laravel eloquent

你如何将一个php变量$ date插入一个雄辩的whereRaw?以下内容适用于curDate(),但不能通过变量传递。

:%s/([^(]*)//g

2 个答案:

答案 0 :(得分:2)

我不知道date的值是由用户还是php脚本决定的,但你总是要用PDO编写raw语句,

您的原始陈述看起来像(安全)

$ex = User::whereRaw('month(?) = month(dob) and day(?) = day(dob)')->setBindings([$date, $date])->get();

或者

$ex = User::whereRaw("month($date) = month(dob) and day($date) = day(dob)")->get();

此外,您必须查看此答案PHP - concatenate or directly insert variables in string

答案 1 :(得分:0)

您可以尝试将"替换为$ex = User::whereRaw("month({$date}) = month(dob) and day($date) = day(dob)")->get();

{{1}}