如何在Eloquent中定义和使用JSON数据类型?
How to define and use JSON data type in Eloquent?
如何在 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' 不是可转换类型之一。
https://laravel.com/docs/5.1/eloquent-mutators
您应该改用 'array':
class SomeModel extends Model
{
protected $casts = [
'field_name' => 'array'
];
}
对于要 JSON 转换的对象
class YourModel extends Model
{
protected $casts = [
'table_column_name' => 'object'
];
}
对于数组到JSON 铸造
class YourModel extends Model
{
protected $casts = [
'table_column_name' => 'array'
];
}
如何在 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' 不是可转换类型之一。 https://laravel.com/docs/5.1/eloquent-mutators
您应该改用 'array':
class SomeModel extends Model
{
protected $casts = [
'field_name' => 'array'
];
}
对于要 JSON 转换的对象
class YourModel extends Model
{
protected $casts = [
'table_column_name' => 'object'
];
}
对于数组到JSON 铸造
class YourModel extends Model
{
protected $casts = [
'table_column_name' => 'array'
];
}