Mysql Laravel Eloquent在数据插入周围添加了双引号
在创建新记录时,我尝试填写一个长文本字段。我使用它来存储json数据Mysql Laravel Eloquent在数据插入周围添加了双引号,mysql,laravel,Mysql,Laravel,在创建新记录时,我尝试填写一个长文本字段。我使用它来存储json数据 $newRecord = new Profile([ 'info' => '[]', ]); $newRecord->save(); 在数据库中,数据被存储为[],并在输入的数据周围加引号,而不是[],这破坏了我的应用程序中的逻辑。如何确保它正确输入数据?此外,我尝试将[]设置为长文本列的默认值,但MySQL返回一个错误,表示长文本列不允许使用[]。解决了这个问题在这种情况下,“信息”列在配置文件模型中铸
$newRecord = new Profile([
'info' => '[]',
]);
$newRecord->save();
在数据库中,数据被存储为[],并在输入的数据周围加引号,而不是[],这破坏了我的应用程序中的逻辑。如何确保它正确输入数据?此外,我尝试将[]设置为长文本列的默认值,但MySQL返回一个错误,表示长文本列不允许使用[]。解决了这个问题在这种情况下,“信息”列在配置文件模型中铸造为数组:
protected $casts = [
'info' => 'array',
];
使用空数组[]而不是“[]”作为字符串修复了此问题:
$newRecord = new Profile([
'info' => [],
]);