getModel()::getDB()->when(isset($where['mer_id']) && $where['mer_id'] !== '', function ($query) use ($where) { $query->where('mer_id', $where['mer_id']); })->when(isset($where['keyword']) && $where['keyword'] !== '', function ($query) use ($where) { $query->where('mer_name|phone|mark', 'like', '%' . $where['keyword'] . '%'); }) ->when(isset($where['account']) && $where['account'] !== '', function ($query) use ($where) { $uid = User::where('account|nickname|phone', 'like', "%{$where['account']}%") ->column('uid'); $query->where('uid', 'in', $uid); }) ->when(isset($where['date']) && $where['date'] !== '', function ($query) use ($where) { getModelTime($query, $where['date']); })->where('is_del', 0)->order('create_time DESC'); return $query; } public function form($id, $data) { $this->getModel()::getDB()->where($this->getPk(), $id)->update(['status' => $data['status'], 'mark' => $data['mark']]); } }