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

    以此来记录编程之路,偶尔需要静下心来写点东西。
  • 相关阅读:
    公用表表达式(CTE)的递归调用
    c# 如何让tooltip显示文字换行
    实战 SQL Server 2008 数据库误删除数据的恢复
    SQL SERVER数据库中 是否可以对视图进行修改删除
    asp.net中实现文件批量上传
    sql server 2008学习2 文件和文件组
    sql server 2008学习3 表组织和索引组织
    sql server 2008学习4 设计索引的建议
    sql server 2008学习10 存储过程
    .net 调用 sql server 自定义函数,并输出返回值
  • 原文地址:https://www.cnblogs.com/yaradish/p/9457154.html
Copyright © 2011-2022 走看看