新增新闻页
路由
/app/Http/routes.php
Route::get('/news/create', 'NewsController@create'); //新建页面
创建方法
/app/Http/Controllers/NewsControllers.php
public function create(){
return view('news.create');
}
composer 安装 illuminate/html (form插件)
composer require illuminate/html
配置
return [
'providers' => [
Illuminate\Html\HtmlServiceProvider::class,
],
'aliases' => [
'Form' => Illuminate\Html\FormFacade::class,
]
]
交换位置,优先匹配 /news/create 这个路由
Route::get('/news', 'NewsController@index'); // 列表
Route::get('/news/create', 'NewsController@create'); //新建页面
Route::get('/news/{id}', 'NewsController@show');
新增提交表单 的路由
注意这里是post请求
Route::post('/news','NewsController@store');
模板form 添加提交地址
{!! Form::open(['url'=>'news/']) !!}
News控制器
public function store(Request $request) {
$input = $request->all(); //接收post数据
$input['published_at'] = Carbon::now(); //生成时间
News::create($input); //调用model的create方法, 写入数据库
return redirect('/news'); //重定向
}
index 以添加时间排序
public function index() {
// $result = News::all();
$result = News::latest()->get(); //以添加时间排序
return view('news.index', compact('result'));
}
直接接收post值 进行操作(省略published_at)
public function store(Request $request) {
News::create($request->all()); //调用model的create方法, 写入数据库
return redirect('/news'); //加载列表页
}
模板生成 选择html
<div class="form-group">
{!! Form::label('创建时间','创建时间') !!}
{!! Form::input('date', 'published_at', date('Y-m-d'), ['class'=>'form-control']) !!}
<!-- 参数1 input类型 -->
<!-- 参数2 字段name -->
<!-- 参数1 用PHP date函数, 赋初始值 -->
</div>
网友评论