Я работаю над проектом в Laravel
, где для настойчивости я использую nosql graph
на основе database
под названием 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
или relashionship getters
. Так какя могу добавить динамически добавленные поля в ресурсы, когда я даже не знаю, какие там будут имена, и они изначально не существуют?