Я сделал функцию для добавления комментария в опубликованную статью и поместил эту функцию в ArticlesController
.Сначала после вызова этой функции я попытался вернуть функцию show()
для этой конкретной статьи, она работала, затем я попытался вызвать ее $this->show('passing in params')
, но вызов функции дает мне пустую страницу, я запутался сейчас, есть ли различия между вызовамии возвращая функцию, которая является правильным способом сделать подобные вещи?
class ArticlesController extends Controller
{
public function show(Article $article, Comment $comments)
{
$comments = $article->comments;
return view('articles.show', compact('article', 'comments'));
}
public function addComment(Article $article, Request $request)
{
$this->validate($request, [
'comment' => 'required|min:3|max:255'
]);
$comments = new Comment($request->all());
$comments->article_id = $article->id;
Auth::user()->comments()->save($comments);
return $this->show($article, $comments);
}
rout.php
<?php
Route::post('articles/{articles}', 'ArticlesController@addComment');
Route::resource('articles', 'ArticlesController');
Route::get('tags/{tags}', 'TagsController@show');
Route::controllers([
'auth' => 'Auth\AuthController',
'password' => 'Auth\PasswordController'
]);