Método de retorno de chamada do Cakephp 3 não alcançado
Estou com um problema com o método de retorno de chamada afterDelete. Eu não posso usá-los.
Dentro de um dos meus controladores de plug-in "Storages", quero excluir um registro e, depois disso, fazer outras considerações, mas o método de retorno de chamada não é alcançado. Eu verifiquei isso adicionando uma mensagem de log dentro do método de retorno de chamada afterDelete ().
Este é o controlador em que removi um registro:
namespace Storages\Controller;
class StoragecontainerBlocksController extends AppController {
public function initialize() {
parent::initialize();
$this->loadComponent('RequestHandler');
}
public function ajaxDeleteBlockElement() {
$this->autoRender = false;
// load model
$this->loadModel("StoragecontainerBlockElements");
// get element id
$elementId = $this->request->data('id');
$this->request->allowMethod(['post', 'delete']);
// delete element
$storagecontainerBlockElement = $this->StoragecontainerBlockElements->get($elementId);
$this->StoragecontainerBlockElements->delete($storagecontainerBlockElement);
}
}
Esta é a tabela (modelo) em que o retorno de chamada afterDelete é definido:
use Cake\Log\Log;
class StoragecontainerBlockElementsTable extends Table {
public function afterDelete(Event $event) {
Log::debug('Got here');
}
}
Atualizar:
Quando eu depureiLog::debug($this->StoragecontainerBlockElements);
dentro da função ajaxDeleteBlockElement, obtive a seguinte matriz no arquivo debug.log:
2017-03-31 07:03:48 Debug: Cake\ORM\Table Object
(
[registryAlias] => StoragecontainerBlockElements
[table] => storagecontainer_block_elements
[alias] => StoragecontainerBlockElements
[entityClass] => \Cake\ORM\Entity
[associations] => Array
(
)
[behaviors] => Array
(
)
[defaultConnection] => default
[connectionName] => default
Atualizar:
namespace Storages\Model\Table;
use Cake\ORM\RulesChecker;
use Cake\ORM\Table;
use Cake\Validation\Validator;
use Cake\Log\Log;
class StoragecontainerBlockElementsTable extends Table {
public function initialize(array $config) {
parent::initialize($config);
}
public function afterDelete(Event $event) {
Log::debug('Got here');
}
}