我有两个表,它们的模型分别是Attendance和Line, 我试图从“出勤”中获取全部信息,该出勤是按line_id分组并按行名称排序的
这是我尝试过的一部分
public function lineWiseReport(Attendance $attendance){
$repository = $this->repository;
if(Input::has('date')){
$date = Input::get('date');
$attn->where('date','like','%'.$date.'%');
$attendances = $attn
->where('employee_type_id',2)
->orderBy('lines.name', 'ASC') //how to do this?
->get()->groupBy('line_id');
}else{
$date = '';
$attendances = [];
}
}
class Attendance extends Model
{
public function line()
{
return $this->belongsTo(Line::class);
}
}
现在我仅按line_id进行分组,但我希望它按照升序排列,如A行,B行,C行。
答案 0 :(得分:4)
您必须先与lines
表联接,然后才能使用该表中的值。
$attendances = $attn
->join('lines', 'lines.id', '=', 'line_id')
->where('employee_type_id', 2)
->orderBy('lines.name', 'ASC') //how to do this?
->get()
->groupBy('line_id');
但是,如果模型包含更多行,这可能会返回更多记录。