温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ThinkPHP中如何使用 Repository包

发布时间:2021-07-14 16:50:32 来源:亿速云 阅读:156 作者:Leah 栏目:编程语言

这期内容当中小编将会给大家带来有关ThinkPHP中如何使用 Repository包,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

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文件,可自行选择是否启用,主要功能对我来说就是美化接口让我们更专业 :)

<?php

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']
        ];
    }}


上述就是小编为大家分享的ThinkPHP中如何使用 Repository包了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI