Laravelでのクエリのヘルプが必要
カスタムクエリ:(正しい結果を返す)
Select * FROM events WHERE status = 0 AND (type="public" or type = "private")
このクエリをLaravel。で記述する方法
Event::where('status' , 0)->where("type" , "private")->orWhere('type' , "public")->get();
ただし、ステータスが0でないすべてのパブリックイベントが返されます。
私はLaravel 5.4を使用しています
クロージャをwhere()
に渡します:
Event::where('status' , 0)
->where(function($q) {
$q->where('type', 'private')
->orWhere('type', 'public');
})
->get();
これを使って
$event = Event::where('status' , 0);
$event = $event->where("type" , "private")->orWhere('type' , "public")->get();
またはこれ
Event::where('status' , 0)
->where(function($result) {
$result->where("type" , "private")
->orWhere('type' , "public");
})
->get();
あなたの場合は、クエリを書き換えることができます...
select * FROM `events` WHERE `status` = 0 AND `type` IN ("public", "private");
そしてEloquentで:
$events = Event::where('status', 0)
->whereIn('type', ['public', 'private'])
->get();
グループ化されたOR/ANDが必要な場合は、クロージャーを使用します。
$events = Event::where('status', 0)
->where(function($query) {
$query->where('type', 'public')
->orWhere('type', 'private');
})->get();
これを試して。わたしにはできる。
$Rand_Word=Session::get('Rand_Word');
$questions =DB::table('questions')
->where('Word_id',$Rand_Word)
->where('lesson_id',$lesson_id)
->whereIn('type', ['sel_voice', 'listening'])
->get();