在laravel中迁移期间,将列类型设置为json不起作用



我正在构建一个mysql databaselaravel。在迁移文件中,我将一列设置为json type,但当我使用此命令php artisan migrate:fresh创建migration时,数据库已成功创建,但没有使用我在迁移文件早期设置的正确列类型。以下是我的迁移文件代码。

public function up()
{
Schema::create('questions', function (Blueprint $table) {
$table->id();
$table->json('conf');
$table->timestamps();
});
}

这里conf列的类型不再是我的数据库中的json,而是迁移后的longtext type。为什么?

将其添加到表的模型中会对您有所帮助。

class Question extends Model
{
protected $casts = [
'conf' => 'array',
];
}

它将把列强制转换为一个可以使用的对象数组。

最新更新