Я пытаюсь разобраться с тем, как поле в CrudController хранит или обновляет данные конкретной модели полностью настраиваемым способом. Я хотел бы, чтобы методы traitStore () и traitUpdate () полностью игнорировали это поле, но хотели бы, чтобы данные по-прежнему передавались через запрос. Это конкретно относится к отношению многие-многие с использованием поля select2_multiple.
Мне бы хотелось, чтобы идентификаторы отношений передавались через объект запроса в методы Store или Update, но я НЕ хочу, чтобы методы traitStore()
или traitUpdate()
действительно выполняли обновления для этого конкретного поля. ссылка.
Например ...
У меня есть это поле в моем контроллере crud
$this->crud->addField(
[
'label' => "Groups",
'type' => 'select2_multiple',
'name' => 'groups',
'entity' => 'groups',
'attribute' => 'title',
'model' => "App\Models\Group",
'pivot' => true
]
);
И я переопределяю Методы сохранения и обновления следующим образом.
public function store()
{
$this->crud->setValidation(UserRequest::class);
// WOULD LIKE TO SAVE EVERYTHING BUT IGNORE THE GROUPS FIELD
$response = $this->traitStore();
// DO WHATEVER I WANT WITH GROUPS AT THIS POINT
$groups = $request->groups
return $response;
}
public function update()
{
$this->crud->setValidation(UserRequest::class);
// WOULD LIKE TO SAVE EVERYTHING BUT IGNORE THE GROUPS FIELD
$response = $this->traitUpdate();
// DO WHATEVER I WANT WITH GROUPS AT THIS POINT
$groups = $request->groups
return $response;
}
Глядя на мои комментарии, я хотел бы получить ссылку на группы и обработать обновление модели так, как я хочу.
Я пытался сбросить значение групп в запросе, unset($this->request{'groups'})
, но он все равно обновляет / удаляет отношения, когда я это делаю.