crud
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
<?php
|
||||
namespace app\common\logic;
|
||||
|
||||
use app\common\utils\CrudUtil;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class CrudLogic_bak
|
||||
{
|
||||
protected string $modelClass;
|
||||
|
||||
/**
|
||||
* @param string $modelClass 完整模型类名,例如 \app\common\model\User::class
|
||||
*/
|
||||
public function __construct(string $modelClass)
|
||||
{
|
||||
$this->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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user