我有两个表 - canvas和canvas_details - 一个canvas可以有多个canvas_details。
TABLE 'canvas'(
'id'
'name'
'canvas_type'
'created_at'
'updated_at')
TABLE 'canvas_details' (
'id'
'canvas_id'
'block_number'
'block_title'
'color'
'size'
'notes'
'image'
'order'
'created_at'
'updated_at')
在我的控制器中,我有一个功能:
public static function canvasList($id){
$canvas_list = \DB::table('canvas')
->select(\DB::raw('distinct(canvas.id),canvas.name'))
->join('canvas_user','canvas.id','=','canvas_user.canvas_id')
->leftJoin('canvasdetails','canvas.id','=','canvasdetails.canvas_id')
->where('canvas_user.user_id',$id)
->orderBy('canvas.updated_at','desc')
->get();
return $canvas_list}
我用它来显示每个用户在上次更新画布时排序的画布名称列表。
创建画布时,它最初没有任何canvas_details。创建或更新关联的canvas_details不会更新canvas updated_at字段,但会更新canvas_details updated_at字段。
我需要做的是在上次更新canvas_details时进行排序。
我想在最后更新的画布或最后更新的canvas_details上显示排序desc的画布名称列表。
考虑画布可能有也可能没有canvas_details - 是否有办法根据canvas_details记录的存在添加该类?
该项目在Laravel 5.2