laravel 博客(resource)
Posted 进阶丶之路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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、通过资源路可以直接访问以上地址,方便的数据的管理。
以上是关于laravel 博客(resource)的主要内容,如果未能解决你的问题,请参考以下文章
需要一种有效的方法来避免使用 Laravel 5 重复代码片段