あなたがwhere in
句のwhereIn
メソッドを使用して$registered_serial_numbers
は、値の配列であることを確認してください雄弁複雑なクエリ
$registered_passes = Pass::where("updated_at", $passesUpdatedSince)->whereIn('serial_number',$registered_serial_numbers)->get();
:
あなたがwhere in
句のwhereIn
メソッドを使用して$registered_serial_numbers
は、値の配列であることを確認してください雄弁複雑なクエリ
$registered_passes = Pass::where("updated_at", $passesUpdatedSince)->whereIn('serial_number',$registered_serial_numbers)->get();
:
クエリは、このようなものでなければなりません。
私の悪い、誤読。クロージャを使用してwhereRaw()
$registered_passes = Pass::whereIn('serial_number', $registered_serial_numbers)->whereRaw('updated_at IS NULL OR updated_at >= ?', $passesUpdatedSince)->get();
2)を使用して
1):それを行うの
$registered_passes = Pass::where('serial_number',$registered_serial_numbers)->whereRaw('updated_at IS NULL OR updated_at >= ?', $passesUpdatedSince)->get();
二つの方法:あなたは、シリアル番号と罰金している場合は、ちょうどこのようwhereRaw
を行います
$registered_passes = Pass::whereIn('serial_number', $registered_serial_numbers)->where(function($query){
$query->whereNull('updated_at')->orWhere('updated_at', '>=', $passesUpdatedSince);})->get();
https://laravel.com/docs/5.3/queries#where-clauses
AND(OR)を行うには私はシリアル値で問題がない「パラメータグループ」セクション
を見てください、との問題「updated_atのは、nullであるかupdated_atの> = $ passesUpdatedSince」whereRawでアポストロフィで –
()変数は評価されません... –
もちろん、そこに同じものを貼り付けただけです。編集されました。 – bytesarelife