App\Http\Controllers\CommentsController::store PHP Method

store() public method

Store a newly created resource in storage.
public store ( Illuminate\Http\Request $request ) : Illuminate\Http\Response
$request Illuminate\Http\Request
return Illuminate\Http\Response
    public function store(Request $request)
    {
        $this->validate($request, ['commentable_type' => 'required|in:App\\Article,App\\Lesson', 'commentable_id' => 'required|numeric', 'parent_id' => 'numeric|exists:comments,id', 'content' => 'required']);
        $parentModel = "\\" . $request->input('commentable_type');
        $comment = $parentModel::find($request->input('commentable_id'))->comments()->create(['author_id' => \Auth::user()->id, 'parent_id' => $request->input('parent_id', null), 'content' => $request->input('content')]);
        event('comments.created', [$comment]);
        event(new ModelChanged('articles', 'comments'));
        flash()->success(trans('forum.comment_add'));
        return back();
    }