我正在Laravel
中的一个项目上进行工作,为了持久化,我使用的是基于nosql graph
的{{1}},称为database
。事实是,对于给定模型,由于某些原因,应用程序管理员可以在UI中创建新字段并提供名称和验证规则。这意味着neo4j
属性中定义的属性中的一部分将动态添加新字段。为给定模型创建了灵活的验证规则,以通过考虑新字段来动态更新验证规则,并且为了持久保留它们,我在创建$fillable
时$post=Post::forceCreate($data);
忽略了$fillable attributes
,数据库中将这些字段添加到data
。我现在唯一的问题是,无法将它们发送到我这样定义的successully
中:
PostResource
以上资源工作正常,只能使用已知的class PostResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'id' => $this->id,
'slug' => $this->slug,
'title' => $this->title,
'body' => $this->body,
'status' => $this->status,
'image' => $this->image,
'read_time' => $this->read_time,
'link' => $this->link,
'published_at' => $this->published_at,
'authors' => $this->authors,
'relatted_spaces' => $this->spaces,
'tags' => $this->tags()->with('filters')->get(),
];
}
}
或fields
进行定义。因此,当我什至不知道会出现什么内容时,如何在资源中动态添加字段名称,而且它们最初不存在吗?