zoukankan      html  css  js  c++  java
  • l5-repository基本使用--结合使用artisan

    一、从头开始创建

    1、执行以下artisan:

    php artisan make:entity Student

    如果某个文件已经存在,则不会创建新的文件去覆盖原有的文件,案例如下:

    2、修改model:Student.php

        protected $table = 'student';
        protected $primaryKey = 'id';
        public $timestamps = false;
        protected $fillable = [];

    3、StudentRepository.php增加方法:

    public function getInfoById($id, $sel);

    4、StudentRepositoryEloquent.php添加方法:

    use IlluminateSupportFacadesDB;
        public function getInfoById($id, $sel)
        {
            return $this->model
                        ->select(DB::raw(implode(',', $sel)))
                        ->where('id', $id)
                        ->first();
        }

    5、新增StudentService.php

    <?php
    
    namespace AppServices;
    
    class StudentService
    {
        private $studentRepository;
    
        public function __construct($studentRepository)
        {
            $this->studentRepository = $studentRepository;
        }
    
        public function getInfoById($id)
        {
            return $this->studentRepository->getInfoById($id, ['name', 'age']);
        }
    }

    6、修改控制器:StudentsController.php

    <?php
    
    namespace AppHttpControllers;
    
    use AppRepositoriesStudentRepository;
    use AppServicesStudentService;
    
    
    /**
     * Class StudentsController.
     *
     * @package namespace AppHttpControllers;
     */
    class StudentsController extends Controller
    {
        private $studentService;
        /**
         * StudentsController constructor.
         *
         * @param StudentRepository $repository
         * @param StudentValidator $validator
         */
        public function __construct(StudentRepository $studentRepository)
        {
            $this->studentService = new StudentService($studentRepository);
        }
    
        public function test()
        {
            $data = $this->studentService->getInfoById(1);
            dd($data);
        }
    }

    7、然后添加必要的路由,即可获得数据

    Route::get('/student/test', 'StudentsController@test');

    8、注册RepositoryServiceProvider:

    其他随笔l5-repository基本使用

  • 相关阅读:
    我看到的我未曾是你们看到的我。
    nagios状态数据更新不及时问题
    Ubuntu下安装 nagiosgraph报错处理
    禁止、允许PING
    windows批量关机
    [转载]div仿框架(B/S结构软件界面)详解[非quirks模式全兼容]
    rrdtool错误attempt to put segment in horiz list twice
    命令参考大全 iostat
    SAP学习手册
    顾问成长之路
  • 原文地址:https://www.cnblogs.com/zhengchuzhou/p/9927962.html
Copyright © 2011-2022 走看看