has('author')) { $author = $request->get('author'); $user = User::find($author); $blogPosts = $user ? $user->author_of_blog_post()->limit(10)->get()->unique() : []; } elseif($request->has('tag')) { $tagId = Str::of($request->get('tag'))->split('/-/')->first(); $blogPosts = Tag::find($tagId)->blogPosts()->limit(10)->get()->unique(); } else { $blogPosts = BlogPost::limit(10)->get(); } return view('blog_post/index', [ 'blogPosts' => $blogPosts, ]); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { return view('blog_post/edit_form'); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { // } /** * Display the specified resource. * * @param \App\Models\BlogPost $blogPost * @return \Illuminate\Http\Response */ public function show(BlogPost $blogPost) { $data['author'] = $blogPost->author()->first(); $data['tags'] = $blogPost->tags()->get(); $data['blogPost'] = $blogPost; $expiresAt = now()->addHours(24); views($blogPost) ->cooldown($expiresAt) ->record(); echo view('blog_post/show', $data); } /** * Show the form for editing the specified resource. * * @param \App\Models\BlogPost $blogPost * @return \Illuminate\Http\Response */ public function edit(BlogPost $blogPost) { return view('blog_post/edit_form', ['blogPost' => $blogPost]); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param \App\Models\BlogPost $blogPost * @return \Illuminate\Http\Response */ public function update(Request $request, BlogPost $blogPost) { // } /** * Remove the specified resource from storage. * * @param \App\Models\BlogPost $blogPost * @return \Illuminate\Http\Response */ public function destroy(BlogPost $blogPost) { // } }