• 技术文章 >php框架 >ThinkPHP

    介绍一个好用的ThinkPHP Repository包

    藏色散人藏色散人2021-07-16 08:59:30转载353

    介绍

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

    你懂的

    ThinkPHP

    >= thinkphp 6.0.*

    安装教程

    Composer

    composer require fanxd/think-repository dev-master

    使用说明

    最好在多应用下使用

    命令

    php think fanxd:repository Post

    路由

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

    可用的方法

    查找记录

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

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

    相关推荐:最新的10个thinkphp视频教程

    以上就是介绍一个好用的ThinkPHP Repository包的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:learnku,如有侵犯,请联系admin@php.cn删除
    专题推荐:ThinkPHP
    上一篇:解析ThinkPHP6应用程序初始化 下一篇:一文搞定TP框架中session()的用法
    大前端线上培训班

    相关文章推荐

    • ThinkPHP5把动态链接库付给变量而导致的执行多条sql数据合并问题• thinkphp 5报错显示nginx 404页面的解决办法• ThinkPHP6加载中间件及多应用解析• 解析ThinkPHP6应用程序初始化

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网