Laravel 5?でpgsql 9.4
で提供されるJSON
データ型を定義するにはどうすればよいですか?
データ型を定義し、データを保存および取得する必要がありますが、これまでのところLaravel 5.1
移行では、次のようなことができます。
$table->json('field_name');
そして、モデルで$casts
プロパティにフィールドを追加して、EloquentにJSONからPHP配列にデシリアライズするように指示します:
class SomeModel extends Model
{
protected $casts = [
'field_name' => 'array'
];
}
ソース: https://laravel.com/docs/5.1/eloquent-mutators#attribute-casting
注:これは、Laravel 5.6
Laravelドキュメンテーションによると、「json」はキャスト可能なタイプの1つではありません。 https://laravel.com/docs/5.1/eloquent-mutators
代わりに 'array'を使用する必要があります。
class SomeModel extends Model
{
protected $casts = [
'field_name' => 'array'
];
}