public function getExtraAttribute($extra)
{
return array_values(json_decode($extra, true) ?: []);
}
public function setExtraAttribute($extra)
{
$this->attributes['extra'] = json_encode(array_values($extra));
}
修改UserController.php的form方法
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new Form(new User());
$form->text('name', __('Name'));
$form->email('email', __('Email'));
$form->datetime('email_verified_at', __('Email verified at'))->default(date('Y-m-d H:i:s'));
$form->password('password', __('Password'));
$form->text('remember_token', __('Remember token'));
// 添加table组件
$form->table('extra', function ($table) {
$table->text('name');
$table->text('sex');
$table->text('birth');
});
return $form;
}
首先:你给的字符串确实是个 json 串,Json string 转为 Array
其次:问题大概率是你给的数据和要求的数据格式不一致
大概这样的就是二维了
你转失败了吧
数据库的字段类型是否为json呢?
信息量太少,多调试输出你就知道了
你这是三维数组
这是二维数组
@s51983 json 对象就是 特殊的字符串,哪来的三维, json 中的东西,那是他的问题,