JF
Notice em SystemChangeLogTrait
Erro ao habilitar Logs de Alteração de registros
Coloquei na classe que desejo monitorar as mudanças o comando e ao fazer uma alteração aparece a mensagem:
como mostro na figura em anexo.
O que pode ser?
Coloquei na classe que desejo monitorar as mudanças o comando
- <?php use SystemChangeLogTrait; ?>
Notice: Undefined property: stdClass::1942 in C:\Users\JLeonel\Programas\USBWebserver v8.6\root\cia\app\model\log\SystemChangeLogTrait.php on line 12
como mostro na figura em anexo.
O que pode ser?
Alguém sabe o que está acontecendo?
Também estou com o mesmo erro.
Fiz a seguinte alteração, mas não sei se não teria solução mais adequada sem precisar alterar o framework.
ARQUIVO: model/log/SystemChangeLogTrait.php
ANTES:
DEPOIS:
Já arrumei:
public function onBeforeStore($object)
{
$pk = $this->getPrimaryKey();
$this->lastState = array();
if (self::exists($object->$pk))
{
$this->lastState = parent::load($object->$pk)->toArray();
}
}
Obrigado Pablo. Mas para mim o problema continuou. Entendi que agora você identifica qual o parâmetro é utilizado como Chave Primária antes de entrar no laço.
Mas como o problema continuou, e baseado na sua correção, identifiquei que esse erro ocorre quando salvo um formulário onde o método onSave() também chama outro método adicional para gravar informações de outra classe de modelo, e é na execução deste método adicional que dá o erro.
Então eu fiz outra alteração, conforme exemplo abaixo, e parece funcionar, teria alguma solução melhor para o Framework no meu caso? A propósito, observei também que nem sempre ele armazena as exclusões que são feitas no sistema, somente quando eu excluo informando o ID é que ele armazena, se eu excluir informando critérios, como em caso de exclusão em lote por chamada de método, ele não grava essa informação pelo SystemChangeLog, só grava pelo SystemSqlLog.
Esse erro ainda continua, mesmo colocando esses códigos do Pablo Dall'Oglio.