App\Models\Forum\TopicPoll::save PHP Method

save() public method

public save ( )
    public function save()
    {
        if (!$this->isValid()) {
            return false;
        }
        return DB::transaction(function () {
            $this->topic->update(['poll_title' => $this->params['title'], 'poll_start' => Carbon::now(), 'poll_length' => ($this->params['length_days'] ?? 0) * 3600, 'poll_max_options' => $this->params['max_options'], 'poll_vote_change' => $this->params['vote_change'] ?? false]);
            $this->topic->pollVotes()->delete();
            $this->topic->pollOptions()->delete();
            for ($i = 0; $i < count($this->params['options']); $i++) {
                PollOption::create(['topic_id' => $this->topic->topic_id, 'poll_option_id' => $i, 'poll_option_text' => $this->params['options'][$i]]);
            }
            return true;
        });
    }