modelClass = $modelClass; } /** * 列表(带分页) * @param array $config CrudUtil::buildQuery 接受的配置 * @param int $limit * @param int $page */ public function list(array $config, int $limit, int $page) { $config['model'] = $this->modelClass; $query = CrudUtil::buildQuery($config); return CrudUtil::paginate($query, $limit, $page); } /** * 列表(不分页) */ public function listAll(array $config) { $config['model'] = $this->modelClass; $query = CrudUtil::buildQuery($config); return CrudUtil::getAll($query); } /** * 根据主键查询单条 */ public function show($id, array $with = []) { return CrudUtil::findByPk($this->modelClass, $id, $with); } /** * 根据任意条件查询单条(可带 dataLimit) */ public function showBy(array $where, array $with = [], array $dataLimit = []) { return CrudUtil::findOneBy($this->modelClass, $where, $with, $dataLimit); } /** * 创建(可带 dataLimit) */ public function create(array $data, array $dataLimit = []) { return CrudUtil::create($this->modelClass, $data, $dataLimit); } /** * 主键更新(可带 dataLimit) */ public function updateByPk($id, array $data, array $dataLimit = []) { return CrudUtil::updateByPk($this->modelClass, $id, $data, $dataLimit); } /** * 任意条件更新(可带 dataLimit) */ public function updateBy(array $where, array $data, array $dataLimit = []) { return CrudUtil::updateBy($this->modelClass, $where, $data, $dataLimit); } /** * 主键删除 */ public function deleteByPk(array $ids) { return CrudUtil::deleteByPk($this->modelClass, $ids); } /** * 任意条件删除(可带 dataLimit) */ public function deleteBy(array $where, array $dataLimit = []) { return CrudUtil::deleteBy($this->modelClass, $where, $dataLimit); } /** * 复杂查询回调 * @param callable $cb function(Builder $q){ ... } */ public function complex(callable $cb) { return CrudUtil::executeComplex($this->modelClass, $cb); } }