diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 403bc1e..98d18c5 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -75,10 +75,7 @@ class HomeController extends Controller 'message' => 'required' ]); - $tags_to_delete = PostsTag::where('post_id', $today_post->id)->get(); - foreach ($tags_to_delete as $tag_to_delete) { - $tag_to_delete->delete(); - } + $today_post->deleteTags(); $tags = $tag_detector->detectFrom($data['message']); @@ -112,7 +109,8 @@ class HomeController extends Controller $today_post = Post::whereDate('date_post', '=', (new DateTime())->format('Y-m-d')) ->where('user_id', Auth::user()->getAuthIdentifier()) ->firstOrFail(); - + /** @var Post $today_post */ + $today_post->deleteTags(); $today_post->delete(); return Redirect::to('home')->withSuccess('Great! Your today\'s post is now deleted. You can make a new one!'); } catch (\ErrorException $e) { diff --git a/app/Post.php b/app/Post.php index 5f112ca..3657a13 100644 --- a/app/Post.php +++ b/app/Post.php @@ -14,16 +14,16 @@ class Post extends Model protected $fillable = [ 'content', 'image', 'date_post', 'user_id' ]; - + /** * The attributes that should be hidden for arrays. * * @var array */ protected $hidden = [ - + ]; - + /** * The attributes that should be cast to native types. * @@ -32,4 +32,15 @@ class Post extends Model protected $casts = [ 'date_post' => 'datetime', ]; + + /** + * Delete this posts tags + */ + public function deleteTags() + { + $tags_to_delete = PostsTag::where('post_id', $this->id)->get(); + foreach ($tags_to_delete as $tag_to_delete) { + $tag_to_delete->delete(); + } + } }