Eloquent で boolean のデータを取得しても、 Javascript で true / false にならない
Vue から axios で laravel にアクセスし、 Eloquent 経由 で カラムの型が boolean のデータを取得したところ、 true / false になっていなかった。
どうも、テーブルでbooleanと指定しても、内部的に integerにされてしまうせいらしい。
ので、 Model で $casts を使って型を指定してあげなければならなかった。
以下みたいな感じで。
protected $casts = [
'result_flag' => 'boolean',
];
$cast は 予約語 で、この変数に値を入れることによって、このカラムはこの型だよ、と明示的に伝えることができる。
これで、int型からboolean型に正しく切り替わる。
...なんか、Laravelのバグな気がしないでもないんだけどね!
以上!