Laravel唯一returns只有一条记录
Laravel Unique returns only one record
我有工作 table 和操作员 table。
一个操作员可以在作业上有多个作业记录table,而一个作业只能有一个操作员。
现在想获取所有操作员最近一次作业的记录,不重复
这是我用的
$availableOperators = DB::table('operator')
->join('job','operator.OperatorId', '=', 'job.OperatorId')
->where('operator.available',1)
->orderBy('job.JobId','desc')
->get()
->unique('job.OperatorId');
没有唯一查询,我能够看到所有满足条件的记录,但在包含它时,我只得到它找到的第一条记录和 none 其他
请指教我做错了什么
显然,unique 总是只给出一条记录,我改用 groupBy 解决了它。
$availableOperators = DB::table('operator')
->join('job','operator.OperatorId', '=', 'job.OperatorId')
->where('operator.available',1)
->orderBy('job.JobId','desc')
->groupBy('job.OperatorId')
->get();
我有工作 table 和操作员 table。 一个操作员可以在作业上有多个作业记录table,而一个作业只能有一个操作员。
现在想获取所有操作员最近一次作业的记录,不重复
这是我用的
$availableOperators = DB::table('operator')
->join('job','operator.OperatorId', '=', 'job.OperatorId')
->where('operator.available',1)
->orderBy('job.JobId','desc')
->get()
->unique('job.OperatorId');
没有唯一查询,我能够看到所有满足条件的记录,但在包含它时,我只得到它找到的第一条记录和 none 其他
请指教我做错了什么
显然,unique 总是只给出一条记录,我改用 groupBy 解决了它。
$availableOperators = DB::table('operator')
->join('job','operator.OperatorId', '=', 'job.OperatorId')
->where('operator.available',1)
->orderBy('job.JobId','desc')
->groupBy('job.OperatorId')
->get();