post = $post; $this->tags = $post->tags; $this->rating = $post->rating; $this->featured = $post->featured; $this->selectableTags = Tag::whereDoesntHave('posts', function ($query) { $query->where('id', $this->post->id); })->get(); } public function render() { return view('livewire.posts.edit')->title("Edit post {$this->post->id}"); } public function updated() { $this->validate(); if ($this->tag) { if ($tag = Tag::find($this->tag)) { $this->post->tags()->attach($tag); if ($tag->implies) { foreach ($tag->implies as $implied_id) { if ($impliedTag = Tag::find($implied_id)) { $this->post->tags()->attach($impliedTag); } } } } } $this->post->rating = $this->rating; if ($this->post->rating == 'safe') { $this->post->featured = $this->featured; } else { $this->post->featured = null; } $this->post->save(); $this->tags = $this->post->tags; $this->selectableTags = Tag::whereDoesntHave('posts', function ($query) { $query->where('id', $this->post->id); })->get(); } }