我的Laravel学习之路之Route::resource和Form-Model-Binding,
来源:互联网 发布:fopen提高权限 linux 编辑:程序博客网 时间:2024/06/04 19:46
开始学习一了一个新的路由,要查看当前使用全部路由,我可以使用
php artisan route:list
一个个创建很多路由很麻烦,所以我们使用以下路由
Route::resource('articles','ArticlesController');然后我们在使用artisan命令来查看一下当前使用路由
GET|HEAD | articles | articles.index | App\Http\Controllers\ArticlesController@index | || | POST | articles | articles.store | App\Http\Controllers\ArticlesController@store | || | GET|HEAD | articles/create | articles.create | App\Http\Controllers\ArticlesController@create | || | GET|HEAD | articles/{articles} | articles.show | App\Http\Controllers\ArticlesController@show | || | PUT | articles/{articles} | articles.update | App\Http\Controllers\ArticlesController@update | || | PATCH | articles/{articles} | | App\Http\Controllers\ArticlesController@update | || | DELETE | articles/{articles} | articles.destroy | App\Http\Controllers\ArticlesController@destroy | || | GET|HEAD | articles/{articles}/edit | articles.edit | App\Http\Controllers\ArticlesController@edit这是laravel自动为我们生成的路由,当然你如果自己随心定义,你可以使用隐式控制器路由
这节重点一个是resource,一个是illuminate/html的model自动填充,确实好用
由php artisan route:list 查看得到我们的更新路由
所以我们在edit方法代码如下:
public function edit($id) { $list = Samples::findOrFail($id); return view('sites.edit',compact('list')); }当前路由为articles/$id/edit
然后我们上update的视图代码
@extends('app')@section('content')<div class="container"><h3>修改文章</h3><!-- 修改method -->{!! Form::model($list,['method'=>'PATCH','url'=>'/articles/'.$list->id]) !!}@include('sites.form'){!! Form::close() !!}@if($errors->any())<ul class="list-group">@foreach($errors->all() as $error)<li class="list-group-item list-group-item-danger">{{ $error }}</li>@endforeach</ul>@endif
</div>@stop注意啊,是因为发表和各更新,中间的表单相同,所以我把它复制到了form.blade.php中,然后使用@include来引入
请注意红色字体,之所以可以自动填充,就是因为使用了上面红色字体所采用的办法.
然而我们仍然需要表单验证,如果不采用js的话,仍然是两种,第一种是是在形参中奖request替换为
Requests\CreateArticleRequest
第二种是,直接上代码吧
public function update(Request $request, $id) { $input = $request->all(); $rule = [ 'name' => 'required|min:4', 'content' => 'required', 'published_at' => 'required', ]; $message = [ 'required' => ':attribute 不允许为空.', 'min' => ':attribute不能少于:min位.', ]; $validate = Validator::make($input, $rule, $message); if (!$validate->passes()) { return back()->withErrors($validate); } $article = Samples::findOrFail($id); $article->update($request->all()); return redirect('/articles'); }
看见上面了吧,采用这种方法,实际只需三行代码就可以完成更新.阅读全文
0 0
- 我的Laravel学习之路之Route::resource和Form-Model-Binding,
- 我的Laravel学习之路之我的Laravel学习之路之用户注册和登录 Auth
- 我的Laravel学习之路之migration Laravel自带命令行数据库创建和管理工具
- 我的Laravel学习之路之模板继承
- 我的Laravel学习之路之环境配置
- 我的Laravel学习之路之Eloquent 入门
- 我的Laravel学习之路之表单验证 validation
- 我的Laravel学习之路之 模型方法queryScope 和字段设置setAttribute
- 我的Laravel学习之路之Laravel Forms 使用,illuminate/html包
- 我的Laravel学习之路之模板加载,分配变量,简单路由
- 我的Laravel学习之路之实现简单Blog展示
- [ASP.NET MVC 小牛之路]15 - Model Binding
- [ASP.NET MVC 小牛之路]15 - Model Binding
- [ASP.NET MVC 小牛之路]15 - Model Binding
- [ASP.NET MVC 小牛之路]15 - Model Binding
- [ASP.NET MVC 小牛之路]15 - Model Binding
- laravel Route、Controller、Model、Migration初步
- laravel 学习之第一章
- #HDU 2444 The Accomodation of Students
- GCC 编译详解
- 非极大值抑制——NMS实例
- 下午Libjdx的理解性学习(生如K线博客)
- 冒泡、选择、插入、快排;C/C++实现
- 我的Laravel学习之路之Route::resource和Form-Model-Binding,
- android HAL 分析
- 修改linux swap空间的swappiness,降低对硬盘的缓存
- 用易企拍app拍摄企业宣传片的简易使用教程
- idea导入maven项目和普通Web项目,并且使用tomcat部署
- vue踩坑系列——backgroundImage路径问题
- HTK在Windows7.32位系统下的安装及注意事项
- Make输出重定向
- oracle 安装 must be configured to display at least 256 colors 问题