getModel()->where($where)->field($field)->when($page&&$limit,function($query)use($page,$limit){ $query->page($page,$limit); })->with(['grade'=>function ($query) { $query->field('name,icon,grade,color'); },'label'=>function ($query) { $query->field('id,label_name'); }])->withCount(['orderCount'=>'people'])->orderRaw($order)->select(); } public function getInfo(array $where,string $field = '*') { return $this->getModel()->where($where)->field($field)->with(['kefu'=>function ($query) { $query->field('id,name,wechat,qrcode'); },'grade'=>function ($query) { $query->field('name,icon,grade,color'); },'label'=>function ($query) { $query->field('id,label_name'); }])->withCount(['orderCount'=>'people'])->findOrEmpty(); } }