最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • laravel用户列表分页和模糊搜索api

    正文概述 转载于:掘金(陆小天奥利给)   2021-08-23   201

    这是我参与8月更文挑战的第23天,活动详情查看:8月更文挑战

    一、用户列表分页和模糊搜索api

    1.1、创建用户控制器

    运行命令创建资源控制器:php artisan make:controller Admin/UserController --api

    laravel用户列表分页和模糊搜索api UserController.php控制器默认就会为我们创建5个方法: laravel用户列表分页和模糊搜索api

    1.2、创建transform

    app文件夹下创建一个Transformers文件夹,写入UserTransformer.php

    <?php 
    
    namespace App\Transformers;
    
    use App\Models\User;
    use League\Fractal\TransformerAbstract;
    
    class UserTransformer extends TransformerAbstract {
        public function transform(User $user) {
            return [
                'id' => $user->id,
                'name' => $user->name,
                'email' => $user->email,
                'created_at' => $user->created_at,
                'updated_at' => $user->updated_at,
            ];
        }
    }
    

    1.3、创建用户资源路由

    routes/admin.php下创建用户资源路由:

    <?php
    
    use App\Http\Controllers\Admin\UserController;
    
    $api = app('Dingo\Api\Routing\Router');
    
    $api->version('v1', function ($api) {
       // 路由分组
       $api->group(['prefix' => 'admin'], function ($api) {
           // 需要登陆的路由
            $api->group(['middleware' => 'api.auth'], function ($api) {
                /**
                 * 用户管理
                 */
                // 禁用用户/启用用户
                $api->patch('users/{user}/lock', [UserController::class, 'lock']);
    
                // 用户管理资源路由
                $api->resource('users', UserController::class, [
                    'only' => ['index', 'show']
                ]);
            });
       });
    });
    

    1.4、修改用户方法(分页和模糊搜索)

    UserController.php

    <?php
    
    namespace App\Http\Controllers\Admin;
    
    use App\Http\Controllers\BaseController;
    use App\Models\User;
    use App\Transformers\UserTransformer;
    use Illuminate\Http\Request;
    
    class UserController extends BaseController
    {
        /**
         * 禁用用户
         */
        public function lock()
        {
            //
        }
    
        /**
         * 用户列表
         */
        public function index(Request $request)
        {
            $name = $request -> input('name');
            $email = $request -> input('email');
    
            $users = User::when($name, function($query) use ($name) {
                $query->where('name', 'like', "%$name%");
            }) 
            -> when($email, function ($query) use ($email) {
                $query->where('email', $email);
            }) 
            -> paginate(2);
            return $this->response()->paginator($users, new UserTransformer());
        }
    
        /**
         * Store a newly created resource in storage.
         *
         * @param  \Illuminate\Http\Request  $request
         * @return \Illuminate\Http\Response
         */
        public function store(Request $request)
        {
            //
        }
    
        /**
         * Display the specified resource.
         *
         * @param  int  $id
         * @return \Illuminate\Http\Response
         */
        public function show($id)
        {
            //
        }
    
        /**
         * Update the specified resource in storage.
         *
         * @param  \Illuminate\Http\Request  $request
         * @param  int  $id
         * @return \Illuminate\Http\Response
         */
        public function update(Request $request, $id)
        {
            //
        }
    
        /**
         * Remove the specified resource from storage.
         *
         * @param  int  $id
         * @return \Illuminate\Http\Response
         */
        public function destroy($id)
        {
            //
        }
    }
    
    

    1.5、效果

    laravel用户列表分页和模糊搜索api


    起源地 » laravel用户列表分页和模糊搜索api

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元