Chcę dodać bieżący czas systemowy do bazy danych podczas wstawiania nowego rekordu do bazy danych, jak w kolumnie "time_created". Funkcja time() PHP nie ma wsparcia w Yii2. Chcę yii2 określonej funkcji czasu, która pomoże mi zapisać bieżący znacznik czasu. Ktokolwiek wie????Jak dodać bieżący datownik w bazie danych. Jaki jest format?
Odpowiedz
Yii 2 ma specjalne zachowanie. Wystarczy dołączyć go do modelu. Dodaj do tego modelu do behaviors()
metody:
use yii\behaviors\TimestampBehavior;
use yii\db\Expression;
public function behaviors()
{
return [
// Other behaviors
[
'class' => TimestampBehavior::className(),
'createdAtAttribute' => 'time_created',
'updatedAtAttribute' => false,
'value' => new Expression('NOW()'),
],
];
}
Można również użyć Yii2
„s formatter
jak poniżej:
Yii::$app->formatter->asTimestamp(date('Y-d-m h:i:s')); //1410488596
Yii::$app->formatter->asDatetime(date('Y-d-m h:i:s')); //Sep 12, 2014, 2:21:56 AM
Może to jest stary, ale może to pomoże kogoś innego. Dodaj poniższy kod w swoim modelu. Upewnij się, że zmieniłeś createdAttribute
na swój atrybut. Trzeba również zawierać:
use yii\behaviors\TimestampBehavior;
use yii\db\Expression;
public function behaviors()
{
return [
[
'class' => TimestampBehavior::className(),
'createdAtAttribute' => 'entry_date',
'updatedAtAttribute' => false,
'value' => new Expression('NOW()'),
],
];
}
Jak to się różni od mojej odpowiedzi? – arogachev
@arogachev Ponieważ ta odpowiedź jest bardziej czytelna i wygląda kompletnie niż twoja. –
Można użyć Yii \ db \ Expression do wykonywania funkcji SQL
<?php
use yii\db\Expression;
$model->time_created = new Expression('NOW()');
$model->save();
można po prostu użyć date()
funkcji PHP jako - date('Y-m-d H:i:s');
Istnieje kilka sposobów dodawania znacznika czasu. Sugeruję użycie znacznika czasu UNIX, aby poradzić sobie ze strefą czasową. Na przykład w instancjach Google SQL nie można ustawić strefy czasowej, ale przesunięcie, co oznacza, że trzeba zaktualizować przesunięcie dwa razy w roku ze względu na czas letni/zimowy. Za to jak ktoś wspomniał można również użyć zachowań:
public function behaviors()
{
return [
[
'class' => AttributeBehavior::className(),
'attributes' => [
ActiveRecord::EVENT_BEFORE_INSERT => 'entry_date',
],
'value' => function ($event) {
return time();
},
],
];
}
lub można po prostu wystarczy dodać przed insertu, jak $model->entry_date=time();
ale jak można to zrobić na każdym INSERT
następnie zachowania są lepszym wyborem.
I oczywiście, jeśli chcesz przeczytać sformatowaną datę, można użyć:
\Yii::$app->formatter->asDate($model->entry_date);
Dla asDate formater, można przeczytać tutaj: http://www.yiiframework.com/doc-2.0/yii-i18n-formatter.html#asDate()-detail
- 1. Mysql Unix-datownik Format daty
- 2. Jak dodać datę w bazie danych sqlite
- 3. Wygeneruj bieżący datownik w języku Java
- 4. jaki jest format tych danych? czy to jest niestandardowy format?
- 5. Konwertuj datownik z długim na normalny format daty
- 6. Jaki jest powód posiadania reguł autoryzacji w bazie danych?
- 7. Jaki jest algorytm wyszukiwania zapytań w bazie danych?
- 8. Format reprezentacja w bazie Web2py
- 9. Jaki jest format daty/czasu?
- 10. Jaki jest format plików `* .ni.dll.aux`?
- 11. Jaki jest najlepszy sposób przechowywania tablicy w relacyjnej bazie danych?
- 12. Jak dodać wpis w bazie danych strony podręcznika linuksowego?
- 13. Jaki jest bieżący katalog w pliku wsadowym?
- 14. Jaki jest format wyjściowy SHA256
- 15. W jaki sposób można dodać niestandardowy format daty Drupal?
- 16. Jak modelować znaczniki w bazie danych?
- 17. jak dodać {STRING Format C#
- 18. W jaki sposób NULL są przechowywane w bazie danych?
- 19. W jaki sposób przechowywane są obiekty wartości w bazie danych?
- 20. Html w mojej bazie danych!
- 21. Jak mogę uzyskać bieżący krótki format DateTime w języku C#?
- 22. jak zaimplementować wyszukiwanie pełnotekstowe w bazie danych
- 23. Jaki typ danych jest najlepszy do zapisywania obrazów w bazie danych?
- 24. Jaki jest format pliku iTunes Artwork?
- 25. Dokonywanie automatyczne pole DateTime w bazie danych?
- 26. Jaki jest format ciągu połączeń programu ASP.NET dla połączonego serwera?
- 27. CDI - jaki jest prawidłowy format bean.xml?
- 28. Jaki jest format struktury va_list x86_64?
- 29. Jak scalić zmiany w bazie danych Drupal
- 30. Jak przechowywać ostrzeżenia MySQL w bazie danych?
Nie wiem o innych DB, ale jeśli jesteś używając MySQL możesz mieć aktualizację kolumny czasowej, http://dev.mysql.com/doc/refman/5.0/en/timestamp-initialization.html – Alex
Witamy w StackOverflow! Zobacz ["Czy pytania powinny zawierać" znaczniki "w tytułach?] (Http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-their-titles), gdzie konsensus jest "nie, nie powinny". –