CakePHP 3 — использовать сохраненные данные внутри afterSave ()

Я отправил форму на мой взгляд, которая будет обработана в контроллере. Обычно происходит то, что контроллер сохраняет изменения, выполняя это:

if ($this->Requests->save($request)) {
// the request have been saved.
}

Теперь я создал еще один запрос на вставку, чтобы следить за действиями редактора с помощью оператора afterSave () следующим образом:

public function afterSave()
{
// here I need the data submitted from $this->request->save($request));
// how can I do this to use the data in the query?

// insert query here.
}

Я хочу использовать afterSave (), потому что я хочу использовать его для всех изменений, внесенных в запросы, но я не могу найти способ доступа к опубликованным данным.

Документация говорит, что afterSave () содержит следующие параметры:

afterSave(Event $event, EntityInterface $entity, ArrayObject $options)

Нужно ли мне это, чтобы выполнить то, что я хочу? Если да, то как мне правильно их использовать? потому что я не могу получить отладочную информацию, чтобы увидеть, что в ней содержится действия сохранения.

Вопрос в следующем:

Как я могу получить доступ к данным, сохраненным с $this->Requests->save($request) в инструкции beforeSave () или afterSave () использовать данные в другом запросе?

1

Решение

Как получить доступ к данным, сохраненным с помощью $ this-> Requests-> save ($ request) в операторе beforeSave () или afterSave (), чтобы использовать данные в другом запросе?

2-й аргумент обоих обратных вызовов — это данные объекта. Если вам не нужен весь запрос, вы можете получить все данные, которые были преобразованы маршаллером в сущность из 2-го аргумента $entity, Проверьте документацию по методам:

Я не знаю в чем твоя проблема, но делаю debug($entity); там покажут данные сущности. Если не что-то еще не так в вашем коде.

Просто используйте сущность для того, чтобы делать то, что вы хотите там.

3

Другие решения

Других решений пока нет …