Files
fdesk/app/common/logic/CrudLogic_bak.php
T
2025-07-18 17:32:42 +08:00

106 lines
2.6 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?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);
}
}