"~" oznacza, że będziesz używać wartości domyślnych lub konfiguracji domyślnej. W twoim przypadku zachowanie Timestampable, użyje domyślnej wartości i konfiguracji. Więc nie musisz ich na nowo definiować.
Od doc, oto niektóre konfiguracja:
Timestampable:
created:
name: created_at
type: timestamp
format: Y-m-d H:i:s
updated:
disabled: true
Znajdziesz tu również tego "~" (dużo) w domyślnej generator.yml
. W ten sposób, generator, nawet pusty, generuje piękny admin:
config:
actions: ~
fields: ~
list: ~
filter: ~
form: ~
edit: ~
new: ~
Dla swoim pytaniu drugim celem Timestampable
jest dla każdej modyfikacji w wierszu pole updated_at
zostanie ustawiony z aktualną datą . Więc nie musisz się tym zajmować.
Edit:
A jeśli chcesz ręcznie zaktualizować pole updated_at
:
- pierwszy: trzeba będzie wyłączyć timestampable zachowanie dla tej dziedzinie (patrz przykład powyżej
- po drugie: sam będziesz musiał to zrobić:
Najprostszym sposobem jest zmierza do funkcji preSave
Twojego modelu i wykonuje tę czynność tutaj. Na przykład:
class Article extends BaseArticle
{
public function preSave($event)
{
if(array_key_exists("your_field", $this->getModified())
{
$this->setUpdatedAt(time());
}
}
'updated_at' jest zwykle używany do wskazania, że * dowolne * pole rekordu zostało zmienione. Rozważ utworzenie osobnego pola dla celów, które opisałeś. –