2017-07-02 18 views
0

どのようにPHP変数$ dateを雄弁に挿入するのですか?Raw?以下はcurDate()で動作しますが、変数を渡すことはできません。EloquentにPHP変数を挿入するWhereRaw SQL

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

答えて

2

'を交換することにより試みること

あなたの生の文は(安全な)

$ex = User::whereRaw('month(?) = month(dob) and day(?) = day(dob)')->setBindings([$date, $date])->get(); 
のようになります。 10

それとも

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

また、あなたはこの答えに見ている

PHP - concatenate or directly insert variables in string

+0

すばらしい!ありがとう、完璧に働いた。 –

0

あなたは、私は日付の値は、ユーザやPHPスクリプトによって決定されますが、あなたは常にPDOによる生の声明を準備する必要があるかどうか分からない"

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

ありません運、可能な「$日付は」間違った形式ですか? AJAXリクエストからコントローラにログを出力すると、 '2017-06-29'という形式で日付が返されますが、値をコピーして貼り付けても、変数を生のSQLに挿入すると機能しないようです$ bu = User :: whereRaw( "month( '2017-06-29')=月(dob)と曜日( '2017-06-29')= day(dob)) - > get (); '仕事をします –

関連する問題