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、通过资源路可以直接访问以上地址,方便的数据的管理。
来源:oschina
链接:https://my.oschina.net/u/4306254/blog/3871353