Newer
Older
FirstLaravel12 / app / Livewire / TodoEdit.php
<?php

namespace App\Livewire;

use Livewire\Component;

class TodoEdit extends Component
{
    // public $counter = 0;
    public $is_editing = false;
    public $todo;
    public $task;

    // ★コンポーネントの初期化★
    public function mount($todo)
    {
        $this->todo = $todo;
        $this->task = $todo->task;
    }

    // ★コンポーネントの描画★
    public function render()
    {
        return view('livewire.todo-edit');
    }

    // ★★★ wire:model.liveから更新される関数の名前は、updated + プロパティ名(先頭大文字)にしなければならない★★★
    public function updatedTask()
    {
        // info('updateTask called'); // for debug
        $this->todo->task = $this->task;
        $this->todo->save();
    }

    // ここは、自由な関数名で良い
    public function saveMyData()
    {
        $this->updatedTask(); // 保存する
        $this->is_editing = false;
    }

}