0
2つのテーブルを結合し、結合されたテーブルのフィールドでフィルタリングします。私は実際のテーブルがこの質問に関係するとは思えませんが、日付がテーブルにイベント情報が追加されたテーブルなので、1つのイベントに対してより多くの日付が可能です。 私はこの雄弁なラインを作った:Laravel雄弁なバグ?
Event_date::whereRaw('startdate >= curdate() OR enddate >= curdate()')->whereHas('Event', function($q){$q->where("approved",true);})->orderBy('startdate', 'asc')->orderBy('enddate', 'asc')->toSql());
フィルタはしかし動作しません。だから、なぜ私は行に - > toSql()を追加しました。 私は戻って、次を得る:
select * from `event_dates` where startdate >= curdate() OR enddate >= curdate() and exists (select * from `events` where `event_dates`.`event_id` = `events`.`id` and `approved` = ?) order by `startdate` asc, `enddate` asc
あなたがで「( 『承認』、真の)」結果「......ととapproved
=)?」という参照questionmarkから来ない場合は???私は「1」、「1」、「真」、「真」、「真」のような別のものを試しました...すべてが疑問符として戻ってきます。
ありがとうございます!
Erwin
PDOはそのように機能します!それは '?'を送る。プレースホルダ、および対応する値の配列です。これは、SQLインジェクションを防ぐことです –