setupTenantConnection(); } public function mount($course_id) { $this->course_id = $course_id; if ($this->course_id != null) { $c = \App\Models\Course::findOrFail($this->course_id); $ids = array_reverse($c->recursiveParent($c->parent_id, [$c->id])); foreach($ids as $ii => $i) { if ($ii == 0) { $this->level_1_id = $i; } if ($ii == 1) { $this->level_2_id = $i; } if ($ii == 2) { $this->level_3_id = $i; } } } } public function updatedLevel1Id() { $this->emit('setCourse', null); $this->level_2_id = 0; $this->level_2 = []; $this->level_3_id = 0; $this->level_3 = []; } public function updatedLevel2Id() { $this->emit('setCourse', null); $this->level_3_id = 0; $this->level_3 = []; } public function updatedLevel3Id() { $this->emit('setCourse', null); } public function render() { $reset = false; if ($this->level_1_id > 0) { $this->level_2 = \App\Models\Course::where('parent_id', $this->level_1_id)->orderBy('name')->get(); if (sizeof($this->level_2) == 0) { $this->emit('setCourse', $this->level_1_id); $reset = true; } } if ($this->level_2_id > 0) { $this->level_3 = \App\Models\Course::where('parent_id', $this->level_2_id)->orderBy('name')->get(); if (sizeof($this->level_3) == 0) { $this->emit('setCourse', $this->level_2_id); $reset = true; } } if ($this->level_3_id > 0) { $this->emit('setCourse', $this->level_3_id); $reset = true; } $this->level_1 = \App\Models\Course::where('parent_id', null)->orderBy('name')->get(); return view('livewire.courses'); } }