Laravel5.5 搭建簡單的社群(十)--發表評論
阿新 • • 發佈:2019-01-09
首先建立一個評論控制器:CommentsController,並且新增resource路由:
php artisan make:controller CommentsController
Route::resource('comments', 'CommentsController');
在show.blade.php中展示發表評論介面:
<hr /> <!-- 判斷使用者是否登陸 --> @if(\Auth::check()) {!! Form::open(['method'=>'post','url'=>'/comments']) !!} <!-- 隱式傳遞discussion_id --> {!! Form::hidden('discussion_id',$discussion->id) !!} <!--- Body Field ---> <div class="form-group"> {!! Form::textarea('body', null, ['class' => 'form-control']) !!} </div> <!-- 提交 --> {!! Form::submit('發表評論',['class' => 'btn btn-primary form-control']) !!} {!! Form::close() !!} @else <a href="/user/login" class="btn btn-block btn-success">登入發表評論</a> @endif
接下來我們定義Request:
php artisan make:request StoreCommentsRequest
public function rules()
{
return [
// 評論內容非空
'body' => 'required',
// discussion_id(隱式傳遞) 非空
'discussion_id' => 'required',
];
}
在CommentsController中儲存資料:
public function store(Requests\StoreCommentsRequest $request) { // 將資料存入資料庫 Comment::create(array_merge($request->all(), ['user_id' => \Auth::user()->id])); // 重定向 return redirect()->action('[email protected]',['id' => $request->get('discussion_id')]); }