[], 'raids' => [], 'characters' => [] ]; function mount() { $this->all_classes = Card::select('class') ->whereNotNull('class') ->groupBy('class')->orderBy('class')->get()->pluck('class'); $this->all_raids = Raid::select('id', 'name')->orderBy('name')->get(); $this->all_characters = Character::select('id', 'name') ->orderBy('name')->get(); // Load values from settings $this->values['classes'] = $this->settings->classes->toArray(); $this->values['raids'] = $this->settings->raids->toArray(); $this->values['characters'] = $this->settings->characters->toArray(); } public function getSettingsProperty() { return $this->service->session()->getSettings(); } public function resetSettings() { $this->reset('values'); } public function share() { $setting = Setting::create(['value' => $this->values]); $this->shared_settings = $setting->hash; } public function save() { // Store values $this->settings->classes->fill($this->values['classes']); $this->settings->raids->fill($this->values['raids']); $this->settings->characters->fill($this->values['characters']); $this->service->newSession($this->settings); $this->redirectRoute('game'); } /** * Render the setup page */ public function render() { return view('setup'); } }