zoukankan      html  css  js  c++  java
  • laravel 博客(resource)

    laravel的资源路由极大的方便了数据库的增删改查

    1、创建资源路由

        Route::resource('article','ArticleController');

    2、查看。创建好资源路由后,通过artisan命令创建控制器。

       php artisan make:controller ArticleController;
    
       php artsian route:list   //查看资源路由列表,如图所示

    分析一下上面的路由;

    ①、get方法直接访问admin/article,可以直接访问ArticleController@index; 用于页面的显示,直接提取数据库显示在页面

     public function index(){
        $data = Article::orderBy('art_id','desc')->paginate(5);
        return view('admin.article.index',compact('data'));
     }

    ②、post方法访问admin/article,访问的是ArticleController@store; 用于数据的添加;(需要csrf认证)

        public function store(){
            $input = Input::except('_token');
            $input['art_time'] = time();
            $rules = [
                'art_title' =>'required',
                'art_content' =>'required',
            ];
            $message = [
                'art_title.required'=>'文章标题必须填写',
                'art_content.required' =>'文章内容必须填写'
            ];
            $validator = Validator::make($input,$rules,$message);
            if($validator->passes()){
                $re = Article::create($input);
                if($re){
                    return redirect('admin/article');
                }else{
                    return view('admin/article/create')->with('error','添加数据失败');
                }
            }else{
                return back()->withErrors($validator);
            }
    
        }

    ③、get方式访问admin/article/create,访问的是ArticleController@create;用于的添加数据的显示;

       public function create(){
            $cate = Category::tree();
            return view('admin.article.add',compact('cate'));
        }

    ④、delete方式访问admin/article/{参数},访问的是ArticleController@destroy;用于数据的删除;(需要csrf认证)

     表单提交是需要表明提交方法:
    <input type="hidden" name="_method" value="delete">  

    public function destroy($art_id){ $re = Article::where('art_id',$art_id)->delete(); if($re){ $data = [ 'status'=>'0', 'msg' =>'文章删除成功' ]; }else{ $data = [ 'status'=>'1', 'msg' =>'文章删除失败,稍后重试' ]; } return $data; }

    ⑤、put方式提交admin/article/{article};访问的是ArticleController@update,用于更新数据;(需要csrf认证)

    <input type="hidden" name="_method" value="put">
    
        public function update($art_id){
            $input = Input::except('_token','_method');
            $input['art_time'] = time(); 
            $re = Article::where('art_id',$art_id)->update($input);
    
            if($re){
                return redirect('admin/article');
            }else{
                return back()->with('error','文章更新数据失败');
            }
        }

    ⑥、get访问admin/article/{article};访问的是ArticleController@show,用于单条数据的显示;

        public function index($id){
            $data = Article::orderBy('art_id',$id)->get(5);
            return view('admin.article.show',compact('data'));
        }

    ⑦、get方式访问admin/article/{article}/edit;访问的是ArticleController@edit,用于修改数据的显示;

        public function edit($art_id){
            $field = Article::find($art_id);
              $cate = Category::tree();
            return view('admin.article.edit',compact('field','cate'));
        }

    3、通过资源路可以直接访问以上地址,方便的数据的管理。

    以此来记录编程之路,偶尔需要静下心来写点东西。
  • 相关阅读:
    iOS resign code with App Store profile and post to AppStore
    HTTPS科普扫盲帖 对称加密 非对称加密
    appid 评价
    使用Carthage安装第三方Swift库
    AngularJS:何时应该使用Directive、Controller、Service?
    xcode7 The operation couldn't be completed.
    cocoapods pod install 安装报错 is not used in any concrete target
    xcode7 NSAppTransportSecurity
    learning uboot how to set ddr parameter in qca4531 cpu
    learning uboot enable protect console
  • 原文地址:https://www.cnblogs.com/yaradish/p/9457154.html
Copyright © 2011-2022 走看看