LoginSignup
1
0

More than 1 year has passed since last update.

livewire プロパティで使える型について

Last updated at Posted at 2022-12-02

扱える🟢

string

  • 使う場面はあんまり無い
    • null許容型を使う時は宣言時にnullを入れよう

int

  • 文字列以外を入れると当然エラーが起きる
    • 型を指定せずにプロパティを宣言し、その値を使う時にintにキャストして使うのが良いと思う

bool

  • 空文字や0の時にfalse
    • 'false'という文字列はダメ

初期化の必要あり

public bool $flag = false;

array

  • ネストしてライフサイクルフックを扱える(以下記述)
public $hogeArray = ['title' => null,'content' => null ]

public function updatedHogeArrayTitle()
{
  //titleが変更された時に動く処理
}

Model

  • ネストしてライフサイクルフックを扱える(以下記述)
public Hoge $hoge;

public function mount()
{
  $this->hoge = new Hoge();
}

public function updatedHogeTitle()
{
  //hogeモデルのtitleプロパティが変更された時に動く処理
}

EloquentCollection

  • 勝手に配列に変換されないので使える
    • 但し罠もある(以下記述)
$this->hogeModels->push(new Hoge());

pushした場合、pushしたHogeオブジェクトは何のDBから取ってきたかの情報が無い為エラーが発生する。
次回の記事で書きます。

扱えそうで扱えない❌

SupportCollection

  • フロント側のプロパティをPHP側のプロパティに変換する際、強制的に配列に変換される為。

Modelを内包したarray

  • フロント側のプロパティをPHP側のプロパティに変換する際、強制的に配列に変換される為。
    • EloquentCollectionは対応している為、同じModelクラスを取り扱うのであればそちらが良いだろう。

対処法はまた記事に書く

CarbonやDate

  • 強制的に文字列になる為
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0