对于给定的模型,我有一个Post model
和一个$fillable
属性,其中我定义了一个如下所示的服装列表:
protected $fillable = [
'title',
'slug',
'body',
'type',
'status',
'inputs',
];
出于某种原因,在用户界面中会有一些自定义字段,我想以string
的形式存储在“输入”属性中。这是我的控制器:
public function store(StorePost $request){
$data=$request->validate();
$p=Post::create($data);
return response()->json(PostResource::collection($p));
}
但是事实是,对于属性input
,它希望它的值为json string
,因为存在一些自定义字段,并且数据也将来自form
,而所有它们的名称将以input_
为前缀,例如:input_body,input_slug,input_title
。但是我没有在模型中定义,所以我想做的是在其中创建一个成对密钥值控制器具有以下结构:
[
custom_field_name1=>value1,
custom_field_name2=>value2
]
但是那里的名称将取决于创建它们的用户,我不知道如何拥有一个控制器,如何自动识别它们以创建上面的数组。然后将它们转换为json string
进行存储它们放在input
属性中。