middleware('auth') ->except(['index', 'show']); $this->posts = $posts; } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { return view('posts.create'); } /** * Remove the specified resource from storage. * * @param int $id * * @return \Illuminate\Http\Response */ public function destroy($id) { // } /** * Show the form for editing the specified resource. * * @param int $id * * @return \Illuminate\Http\Response */ public function edit($id) { // } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index(Request $request) { $posts = $this->posts->all(); // $posts = Post::latest() // ->filter($request->only(['month', 'year'])) // ->get(); return view('posts.index', compact('posts')); } public function show(Post $post) { return view('posts.show', compact('post')); } /** * Store a newly created resource in storage. * * - Create new post using the request data * - Save it to the database * - Redirect to the home page * * @param \Illuminate\Http\Request $request * * @return \Illuminate\Http\Response */ public function store(Request $request) { // $post = new Post(); // $post->title = $request->get('title'); // $post->body = $request->get('body'); // $post->save(); $this->validate($request, [ 'title' => 'required|min:10', 'body' => 'required', ]); auth()->user()->publish(new Post(request(['title', 'body']))); session()->flash('message', 'Your post has been published.'); return redirect('/'); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { // } }