App\Models\Forum\Topic::setLastPostCache PHP Method

setLastPostCache() public method

public setLastPostCache ( )
    public function setLastPostCache()
    {
        $lastPost = $this->posts()->last()->first();
        if ($lastPost === null) {
            $this->topic_last_post_id = null;
            $this->topic_last_post_time = null;
            $this->topic_last_poster_id = null;
            $this->topic_last_poster_name = null;
            $this->topic_last_poster_colour = null;
        } else {
            $this->topic_last_post_id = $lastPost->post_id;
            $this->topic_last_post_time = $lastPost->post_time;
            if ($lastPost->user === null) {
                $this->topic_last_poster_id = null;
                $this->topic_last_poster_name = null;
                $this->topic_last_poster_colour = null;
            } else {
                $this->topic_last_poster_id = $lastPost->user->user_id;
                $this->topic_last_poster_name = $lastPost->user->username;
                $this->topic_last_poster_colour = $lastPost->user->user_colour;
            }
        }
    }