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”方向为例,所有学生一年 –