在 laravel 迁移中设置默认空数组
Set default empty array in laravel migration
我想为列兴趣设置空数组。我已将字段添加为 json 并将其转换为模型中的数组。以下是我的代码片段:
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('db_invitations', function (Blueprint $table) {
if(!Schema::hasColumn('db_invitations','interests')){
$table->json('interests');
}
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('db_invitations', function (Blueprint $table) {
if(Schema::hasColumn('db_invitations','interests')){
$table->dropColumn('interests');
}
});
}
也在模型中:
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'interests' => 'array'
];
那么我需要做什么才能在兴趣栏中显示默认 []?
json 数据类型在 MySQL 中不能有默认值 。请改用 $attributes
。
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'interests' => 'array',
];
protected $attributes = [
'interests' => [],
];
我想为列兴趣设置空数组。我已将字段添加为 json 并将其转换为模型中的数组。以下是我的代码片段:
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('db_invitations', function (Blueprint $table) {
if(!Schema::hasColumn('db_invitations','interests')){
$table->json('interests');
}
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('db_invitations', function (Blueprint $table) {
if(Schema::hasColumn('db_invitations','interests')){
$table->dropColumn('interests');
}
});
}
也在模型中:
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'interests' => 'array'
];
那么我需要做什么才能在兴趣栏中显示默认 []?
json 数据类型在 MySQL 中不能有默认值 。请改用 $attributes
。
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'interests' => 'array',
];
protected $attributes = [
'interests' => [],
];