public function setFirstPostCache()
{
$firstPost = $this->posts()->first();
if ($firstPost === null) {
$this->topic_first_post_id = null;
$this->topic_poster = null;
$this->topic_first_poster_name = null;
$this->topic_first_poster_colour = null;
} else {
$this->topic_first_post_id = $firstPost->post_id;
if ($firstPost->user === null) {
$this->topic_poster = null;
$this->topic_first_poster_name = null;
$this->topic_first_poster_colour = null;
} else {
$this->topic_poster = $firstPost->user->user_id;
$this->topic_first_poster_name = $firstPost->user->username;
$this->topic_first_poster_colour = $firstPost->user->user_colour;
}
}
}