File tree Expand file tree Collapse file tree 5 files changed +146
-0
lines changed Expand file tree Collapse file tree 5 files changed +146
-0
lines changed Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace {{livewireNamespace}}\{{modelNamePluralUpperCase}};
4+
5+ use {{livewireNamespace}}\Forms\{{modelName}}Form;
6+ use {{modelNamespace}}\{{modelName}};
7+ use Livewire\Component;
8+
9+ class Create extends Component
10+ {
11+ public {{modelName}}Form $form;
12+
13+ public function mount({{modelName}} ${{modelNameLowerCase}})
14+ {
15+ $this->form->set{{modelName}}Model(${{modelNameLowerCase}});
16+ }
17+
18+ public function save()
19+ {
20+ $this->form->store();
21+
22+ return $this->redirectRoute('{{modelRoute}}.index', navigate: true);
23+ }
24+
25+ public function render()
26+ {
27+ return view('livewire.{{modelView}}.create');
28+ }
29+ }
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace {{livewireNamespace}}\{{modelNamePluralUpperCase}};
4+
5+ use {{livewireNamespace}}\Forms\{{modelName}}Form;
6+ use {{modelNamespace}}\{{modelName}};
7+ use Livewire\Component;
8+
9+ class Edit extends Component
10+ {
11+ public {{modelName}}Form $form;
12+
13+ public function mount({{modelName}} ${{modelNameLowerCase}})
14+ {
15+ $this->form->set{{modelName}}Model(${{modelNameLowerCase}});
16+ }
17+
18+ public function save()
19+ {
20+ $this->form->update();
21+
22+ return $this->redirectRoute('{{modelRoute}}.index', navigate: true);
23+ }
24+
25+ public function render()
26+ {
27+ return view('livewire.{{modelView}}.edit');
28+ }
29+ }
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace {{livewireNamespace}}\Forms;
4+
5+ use {{modelNamespace}}\{{modelName}};
6+ use Livewire\Form;
7+
8+ class {{modelName}}Form extends Form
9+ {
10+ public ?{{modelName}} ${{modelNameLowerCase}}Model;
11+ {{livewireFormProperties}}
12+
13+ public function rules(): array
14+ {
15+ return [{{rules}}
16+ ];
17+ }
18+
19+ public function set{{modelName}}Model({{modelName}} ${{modelNameLowerCase}}Model): void
20+ {
21+ $this->{{modelNameLowerCase}}Model = ${{modelNameLowerCase}}Model;
22+ {{livewireFormSetValues}}
23+ }
24+
25+ public function store(): void
26+ {
27+ $this->{{modelNameLowerCase}}Model->create($this->validate());
28+
29+ $this->reset();
30+ }
31+
32+ public function update(): void
33+ {
34+ $this->{{modelNameLowerCase}}Model->update($this->validate());
35+
36+ $this->reset();
37+ }
38+ }
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace {{livewireNamespace}}\{{modelNamePluralUpperCase}};
4+
5+ use {{modelNamespace}}\{{modelName}};
6+ use Illuminate\View\View;
7+ use Livewire\Component;
8+ use Livewire\WithPagination;
9+
10+ class Index extends Component
11+ {
12+ use WithPagination;
13+
14+ public function render(): View
15+ {
16+ ${{modelNamePluralLowerCase}} = {{modelName}}::paginate();
17+
18+ return view('livewire.{{modelView}}.index', compact('{{modelNamePluralLowerCase}}'))
19+ ->with('i', $this->getPage() * ${{modelNamePluralLowerCase}}->perPage());
20+ }
21+
22+ public function delete({{modelName}} ${{modelNameLowerCase}})
23+ {
24+ ${{modelNameLowerCase}}->delete();
25+
26+ return $this->redirectRoute('{{modelRoute}}.index', navigate: true);
27+ }
28+ }
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace {{livewireNamespace}}\{{modelNamePluralUpperCase}};
4+
5+ use {{livewireNamespace}}\Forms\{{modelName}}Form;
6+ use {{modelNamespace}}\{{modelName}};
7+ use Livewire\Component;
8+
9+ class Show extends Component
10+ {
11+ public {{modelName}}Form $form;
12+
13+ public function mount({{modelName}} ${{modelNameLowerCase}})
14+ {
15+ $this->form->set{{modelName}}Model(${{modelNameLowerCase}});
16+ }
17+
18+ public function render()
19+ {
20+ return view('livewire.{{modelView}}.show', ['{{modelNameLowerCase}}' => $this->form->{{modelNameLowerCase}}Model]);
21+ }
22+ }
You can’t perform that action at this time.
0 commit comments