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、通过资源路可以直接访问以上地址,方便的数据的管理。

    以此来记录编程之路,偶尔需要静下心来写点东西。
  • 相关阅读:
    velocity模板引擎学习(2)-velocity tools 2.0
    silverlight: http请求的GET及POST示例
    职责链(Chain of Responsibility)模式在航空货运中的运用实例
    H2 Database入门
    velocity模板引擎学习(1)
    Struts2、Spring MVC4 框架下的ajax统一异常处理
    企业应用通用架构图
    nginx学习(2):启动gzip、虚拟主机、请求转发、负载均衡
    nginx学习(1):编译、安装、启动
    eclipse/intellij Idea集成jetty
  • 原文地址:https://www.cnblogs.com/yaradish/p/9457154.html
Copyright © 2011-2022 走看看