Laravel: executando alguma tarefa em cada inserção / atualização ao usar o Query Builder ou o Eloquent ORM
Eu gostaria de adicionar automaticamentecreated_by
emodified_by
campos para cada inserção / atualização em uma tabela de banco de dados no Laravel 4, independentemente de eu estar usando o Eloquent ou o Query Builder. No entanto, nem todas as minhas tabelas têm esses campos, portanto, qualquer solução terá que verificar se essas colunas existem antes de adicionar.
Eu estendi oIlluminate\Database\Eloquent\Model
classe e escrito um método de substituiçãosave()
para adicionar alguns campos de metadados adicionais para cada registro salvo.
Isso é bom, exceto que, se eu executar uma inserção usando o Construtor de Consultas, isso será ignorado. Olhando para oModel
classe parece que as operações do banco de dados são realmente feitas usando o construtor de consulta.
Eu dei uma olhada noIlluminate\Database\Query\Builder
modelo e parece que eu provavelmente poderia escrever métodos de substituição parainsert()
eupdate()
.
Esta é uma maneira sensata de executar alguma tarefa para cada inserção / atualização ou terei problemas mais tarde?