Estou no processo de converter um de nossos aplicativos da Web do CodeIgniter para o Laravel. No entanto, neste momento, não queremos adicionar os campos updated_at
/ created_at
a todas as nossas tabelas, pois temos uma classe de log que já faz tudo isso com mais profundidade.
Estou ciente de que posso definir $timestamps = false;
:
Vendor\laravel\framework\src\illuminate\Datebase\Eloquent\Model.php
No entanto, prefiro não alterar um arquivo principal para o Laravel ou fazer com que todos os meus modelos o tenham no topo. Existe alguma maneira de desativar isso em outro lugar para todos os modelos?
Simplesmente coloque esta linha no seu modelo :
public $timestamps = false;
E é isso!
Exemplo:
Para desativar os carimbos de data / hora para uma operação (por exemplo, em um controlador):
Para desativar os carimbos de data e hora de todos os seus modelos , crie um novo
BaseModel
arquivo:Em seguida, estenda cada um de seus modelos com o seguinte
BaseModel
:fonte
Se você precisar apenas desativar a atualização updated_at, adicione este método ao seu modelo.
Isso substituirá o método pai setUpdatedAtAttribute (). created_at funcionará normalmente. Da mesma maneira que você pode escrever um método para desativar a atualização created_at only.
fonte
Se você estiver usando o 5.5.x:
E para o campo 'created_at', você pode usar:
Verifique se você está na versão mais recente. (Isso foi quebrado no Laravel 5.5.0 e corrigido novamente no 5.5.5).
fonte
Modelo eloquente:
Ou simplesmente tente isso
fonte
Caso você queira remover os carimbos de data / hora do modelo existente, conforme mencionado anteriormente, coloque-o no seu Modelo:
Crie também uma migração com o seguinte código no
up()
método e execute-o:Você pode usar
$table->timestamps()
no seudown()
método para permitir a reversão.fonte
basta declarar a
public
variável timestamps no seuModel
tofalse
e tudo funcionará bem.public $timestamps = false;
fonte
Adicione esta linha ao seu modelo:
fonte
Substituir as funções
setUpdatedAt()
egetUpdatedAtColumn()
no seu modelofonte
Você pode desativar temporariamente os carimbos de data e hora
fonte