repository php,推荐:好用的 ThinkPHP Repository 包

介绍

think-repository 是为 thinkphp 6.0.* 提供的存储库用于抽象数据层,使我们的应用程序更灵活地进行维护。

PAxbgzziuA.svg

你懂的

ThinkPHP

>= thinkphp 6.0.*

安装教程

Composer

composer require fanxd/think-repository dev-master

使用说明

最好在多应用下使用

命令

php think fanxd:repository Post

路由

Route::resource(‘post’, ‘PostController’);

可用的方法

first($id) // 查找单条记录

get() // 查找记录

paginate() // 分页查询

create($data) // 写入数据

save($data) // 保存当前数据对象

delete($where) // 删除记录

update($where,$data) // 更新记录

find($id) // 查找单条记录 如果不存在则抛出异常

findWhere($where,$columns = [‘*’]) // 指定AND查询条件 查找单条记录

with([]) // 关联查询

search([]) // 数据搜索

order($order) // 排序

查找记录

$posts=$this->repository->get();

分页查询

$posts=$this->repository->paginate($limit);

按结果按id查找

$posts=$this->repository->find($id);

$posts=$this->repository->first($id);

加载模型关系

$posts=$this->repository->with([‘state’])->find($id);

按结果按字段名查找

$posts=$this->repository->findByField(‘title’, ‘Hello’);

按结果由多个字段查找

$posts=$this->repository->findWhere([

‘id’ => 1], [‘id’, ‘title]);

按结果在一个字段中查找多个值

$posts=$this->repository->findWhereIn(‘id’, [1,2,3,4,5]);

通过排除一个字段中的多个值,按结果查找

$posts=$this->repository->findWhereNotIn(‘id’, [6,7,8,9,10]);

写入数据

$post = $this->repository->create($data);

更新记录

$posts=$this->repository->update($where, $data);

删除记录

$this->repository->delete($id)

按多个字段删除存储库中的条目

$this->repository->deleteWhere([

‘id’ => 1, ‘user_id’ => 1])

Transformer

系统会自动生成transform文件,可自行选择是否启用,主要功能对我来说就是美化接口让我们更专业 :)

namespace app\api\transform;

use fanxd\repository\command\transform\Transform;

class PostTransform extends Transform

{

public function transform($items)

{

return [

'id' => $items['id'],

//...

'createTime' => $items['create_time'],

'updateTime' => $items['update_time']

];

}

}

陆续添加更多的方法,如果你有好的想法可以告诉我,秒更!!!

见习版主疯狂的暗示你 点赞 + 收藏 + 评论

84f0fc79a8ed92f3196c34550513d687.png

本作品采用《CC 协议》,转载必须注明作者和本文链接

与其感慨路难行,不如马上出发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值