laravel 简单的一套curdApi操作

时间:2020-03-24
本文章向大家介绍laravel 简单的一套curdApi操作,主要包括laravel 简单的一套curdApi操作使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

路由

//路由群组
Route::prefix('user')->group(function () {
    //用户注册接口
    Route::post('register','User@Register');

    //用户注册接口
    Route::post('login','User@Login');

    //用户删除接口
    Route::get('del','User@Del');

    //用户修改接口
    Route::post('upda','User@Upda');

    //用户列表展示&模糊搜索
    Route::get('page','User@Page');
});

控制器

class User extends Controller
{
    //返回三要素
    protected function result($code,$msg,$data)
    {
        return ['code'=>$code,'msg'=>$msg,'data'=>$data];
    }

    //成功三要素
    protected function success($data)
    {
        return $this->result(0,'请求成功',$data);
    }

    //失败三要素
    protected function fail()
    {
        return $this->result(1,'请求失败','');
    }

    //验证不通过三要素
    protected function rejecti($msg)
    {
        return $this->result(2,$msg,'');
    }

    /**
     * 用户注册接口
     * 传值方式 post
     * 参数 name 用户名 pwd 密码 image 头像
     */
    public function Register(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'name' => 'required|unique:user|min:8|max:32',
            'pwd' => 'required',
            'image'=>'required'
        ]);

        if ($validator->fails()) {
            $msg = $validator->errors()->first();

            return $this->rejecti($msg);
        }

        $res = Users::Register($request);

        //判断是否请求成功
        if ($res){
            return $this->success($res);
        }else{
            return $this->fail();
        }
    }

    /**
     * 用户登录接口
     * 传值方式 post
     * 参数 name 用户名 pwd 密码
     */
    public function Login(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'name' => 'required',
            'pwd' => 'required',
        ]);

        if ($validator->fails()) {
            $msg = $validator->errors()->first();

            return $this->rejecti($msg);
        }

        $res = Users::Login($request);

        //判断是否请求成功
        if ($res){
            return $this->success($res);
        }else{
            return $this->fail();
        }
    }

    /**
     * 用户删除接口
     * 传值方式 get
     * 参数 id 删除条件
     */
    public function Del(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'id' => 'required',
        ]);

        if ($validator->fails()) {
            $msg = $validator->errors()->first();

            return $this->rejecti($msg);
        }

        $res = Users::Del($request);

        //判断是否请求成功
        if ($res){
            return $this->success($res);
        }else{
            return $this->fail();
        }
    }

    /**
     * 用户修改密码接口
     * 传值方式 post
     * 参数 id 修改条件 pwd 修改后的值
     */
    public function Upda(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'id' => 'required',
            'pwd' => 'required',
        ]);

        if ($validator->fails()) {
            $msg = $validator->errors()->first();

            return $this->rejecti($msg);
        }

        $res = Users::Upda($request);

        //判断是否请求成功
        if ($res){
            return $this->success($res);
        }else{
            return $this->fail();
        }
    }

    /**
     * 用户列表展示&根据用户名模糊搜索
     * 传值方式 get
     * 参数 name 用户名
     */
    public function Page(Request $request)
    {
        $where = [];

        if ($request['name'] != '') {
           $where[] = ['name','like',"%$request[name]%"];
        }

        $res = Users::Page($where);

        //判断是否请求成功
        if ($res){
            return $this->success($res);
        }else{
            return $this->fail();
        }
    }
}

模型

class Users extends Model
{
    protected $table = 'user';

    //注册接口
    static public function Register($request){
        $arr['name'] = $request['name'];
        $arr['pwd'] = md5($request['pwd']);
        $arr['image'] = $request->file('image')->store('image');

        return self::insert($arr);
    }

    //登录接口
    static public function Login($request){
        $arr['name'] = $request['name'];
        $arr['pwd'] = md5($request['pwd']);

        return self::where($arr)->first();
    }

    //删除接口
    static public function Del($request){
        $arr['id'] = $request['id'];

        return self::where($arr)->delete();
    }

    //修改接口
    static public function Upda($request){
        $arr['id'] = $request['id'];
        $upda['pwd'] = $request['pwd'];

        return self::where($arr)->updade($upda);
    }

    //列表展示&搜索
    static public function Page($where)
    {
        return self::where($where)->paginate(5);
    }
}

原文地址:https://www.cnblogs.com/lishudong/p/12557613.html