1
我有一個控制器,它根據URL'request'參數返回一個SQL查詢。在這種情況下,如何動態更改sql查詢?
switch ($request->get('request')){
case '3dvideo':
$students = Student::orderBy('year', 'desc')->where('orientation', '3D')->inRandomOrder()->paginate(12);
break;
case '2d':
$students = Student::orderBy('year', 'desc')->where('orientation', '2D')->inRandomOrder()->paginate(12);
break;
case 'web':
$students = Student::orderBy('year', 'desc')->where('orientation', 'web')->inRandomOrder()->paginate(12);
break;
case 'all':
$students = Student::orderBy('year', 'desc')->inRandomOrder()->paginate(12);
break;
default:
$students = Student::orderBy('year', 'desc')->inRandomOrder()->paginate(12);
break;
}
現在我有第二個參數在我的網址(一年),我不知道如何根據這兩個參數做(如果今年存在的話),我回到這樣一個SQL查詢:
$students = Student::orderBy('year', 'desc')->where('orientation', 'web')->where('year', 'MY-YEAR')->inRandomOrder()->paginate(12);
非常感謝您
謝謝!按年份排序適用於您的方法,但它忽略了方向參數,因此我每年爲所有學生進行康復,而不是以「3dvideo」方向爲例,所有學生一年 –