扱える🟢
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
- 強制的に文字列になる為