Laravel Eloquent遇到问题,无法从“ student_number”(主题组=“ E1”)中获取具有最高值和第二最高值的主题名称。 这是我尝试过的操作,但其中包含错误“ max():仅给出一个参数时,它必须是数组”,我不知道如何获得“ student_number”的第二高值。
public function electiveGroup(){
$E1 = FinalyearSubject::get()
->where('subject_group','=','E1')
->orWhere('student_number','=',max('student_number'));
return view ('admin.elective')->with(compact('E1'));
}
答案 0 :(得分:0)
FinalyearSubject::where('subject_group', 'E1')
->orderBy('student_number', 'DESC')
->limit(2)
->get()
说明:
get()
结果您正在做FinalyearSubject::get()
的那一刻,查询已经完成。 get()
返回一个Collection
对象(更像是一个丰富的数组)。之后,您链接的所有内容都是使用Laravel的Collection实用程序计算的。 ->get()
通常应该是调用中的最后一件事,以便您可以在SQL中完成尽可能多的工作。
答案 1 :(得分:0)
所以,问题是您要获取全部的最大值,第二要的最大值 组='E1'。
总数最多
FinalyearSubject::where('subject_group','E1')
->max('student_number');
“ E1”的第二个最大值
FinalyearSubject::where('subject_group','E1')
->OrderBy('student_number','desc')
->offset(1)
->limit(1)
->get();