getModel()->where($where)->field($field)->when($page&&$limit,function($query)use($page,$limit){ $query->page($page,$limit); })->with(['task','user'=>function ($query) { return $query->field(['uid','nickname','avatar']); }])->select(); } public function getLst(array $where,string $field = '*',int $page = 0, int $limit = 0,string $order='id desc') { return $this->getModel()->where($where)->field($field)->when($page&&$limit,function($query)use($page,$limit){ $query->page($page,$limit); })->with('task')->order($order)->select(); } public function getDetails(array $where,string $field = '*') { return $this->getModel()->where($where)->field($field)->with(['task'=>function($query){ $query->withField('id,title,explain,material,price,end_time,hot,kefu_id,created_at')->with(['kefu'=>function($query){ $query->field('id,name,wechat,phone,qrcode'); }])->withCount(['orderCount'=>'people']); }])->findOrEmpty(); } public function getOrder(array $where,string $field = '*') { return $this->getModel()->where($where)->field($field)->with('task')->findOrEmpty(); } }