値を取り出す時に、事前キャストしたい
ユーザーが管理者のときに○○したいという時に、以下のようにコードを書きたい
$user = new User('uiro'); if($user->is_admin === true) { .... }
でも、データベースから取得した$userは0,1で is_admin
が入ってる・・・そんなとき
$castで事前にキャスト
<?php namespace App; use Illuminate\Database\Eloquent\Model; class User extends Model { /** * ネイティブなタイプへキャストする属性 * * @var array */ protected $casts = [ 'is_admin' => 'boolean', ]; }
$cast
にキー配列で、キャストしたい型を書いておけば、データ取得時にキャストしてからデータを取り出すことができる