autoParams($param); $status = $this->array('status'); $keyword = $this->pg('keyword'); $responsibility_person_id = $this->pg('responsibility_person_id'); $begin_date = $this->pg('begin_date'); $end_date = $this->pg('end_date'); $corret_end_date = Carbon::createFromTimeString($end_date)->addDay()->startOfDay()->toDateString(); $where = WhereBuilder::builder() ->like('p.name|p.source', $keyword) ->in('p.status', $status) ->eq('p.responsibility_person_id', $responsibility_person_id) ->between('p.create_time', $begin_date, $corret_end_date) ->build(); return (new Project)->alias('p') ->with(['schedules']) ->field('p.*') ->field('a.real_name as responsibility_person') ->join('admin a', 'a.id = p.responsibility_person_id', 'LEFT') ->where($where) ->paginate($this->tp6Page()); } public function create($param = []) { $param = $this->autoParams($param); return Project::create($param); } public function info($param = []) { $this->autoParams($param); $project = $this->one(Project::class); $project->append(['contracts', 'schedules']); return $project; } public function update($param = []) { $param = $this->autoParams($param); return Project::update($param); } public function delete($param = []) { $this->autoParams($param); $project = $this->one(Project::class); return $project->delete(); } }