Desidero aggiungere l'ora corrente del sistema nel database mentre inserisco il nuovo record nel database come nella colonna "time_created". La funzione time() di PHP non ha supporto in yii2. Voglio una funzione temporale specifica per yii2 che mi consenta di salvare il timestamp attuale. Qualcuno sa ????Come aggiungere data e ora correnti nel database. Qual è il formato?
risposta
Yii 2 ha un comportamento speciale per questo. Basta collegarlo al modello. Aggiungi questo al vostro modello per behaviors()
metodo:
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()'),
],
];
}
è anche possibile utilizzare Yii2
s' formatter
come di seguito:
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
Forse questo è vecchio, ma può aiutare qualcun altro. Aggiungi il codice qui sotto nel tuo modello. Assicurati di modificare createdAttribute
nel tuo attributo. È inoltre necessario includere:
use yii\behaviors\TimestampBehavior;
use yii\db\Expression;
public function behaviors()
{
return [
[
'class' => TimestampBehavior::className(),
'createdAtAttribute' => 'entry_date',
'updatedAtAttribute' => false,
'value' => new Expression('NOW()'),
],
];
}
Com'è diverso dalla mia risposta? – arogachev
@arogachev Perché questa risposta è più leggibile e sembra completa della tua. –
È possibile utilizzare Yii \ db \ Expression per eseguire la funzione SQL
<?php
use yii\db\Expression;
$model->time_created = new Expression('NOW()');
$model->save();
semplicemente possibile utilizzare la funzione di PHP date()
come - date('Y-m-d H:i:s');
Esistono diversi modi per aggiungere la data/ora, suggerisco di utilizzare il timestamp UNIX per motivi di gestione del fuso orario. Ad esempio, nelle istanze di Google SQL non è possibile impostare il fuso orario, ma offset, il che significa che è necessario aggiornare l'offset due volte all'anno a causa del periodo estivo/invernale. Per che, come qualcuno ha detto è anche possibile utilizzare i comportamenti:
public function behaviors()
{
return [
[
'class' => AttributeBehavior::className(),
'attributes' => [
ActiveRecord::EVENT_BEFORE_INSERT => 'entry_date',
],
'value' => function ($event) {
return time();
},
],
];
}
o si può semplicemente aggiungere prima di inserire, come $model->entry_date=time();
ma come si farà questo su ogni INSERT
quindi comportamenti sono la scelta migliore.
E, naturalmente, se si desidera leggere data formattata, è possibile utilizzare:
\Yii::$app->formatter->asDate($model->entry_date);
Per asDate formattatore, potete leggere qui: http://www.yiiframework.com/doc-2.0/yii-i18n-formatter.html#asDate()-detail
- 1. Django - data e ora correnti presenti nel modello
- 2. Data e ora correnti - Default nel rasoio MVC
- 3. Mysql/Php - Data e ora correnti
- 4. come ottenere il formato data/ora locale?
- 5. Inserimento della data e dell'ora correnti nel database SQLite
- 6. formato data/ora
- 7. Data e ora correnti come nome file in Java
- 8. Aggiungere il formato data/ora al grafico lineare x-assi
- 9. Dimensione data e ora nel data warehouse
- 10. Stampa data e ora correnti nello script DOS
- 11. Inserire data/ora nel database di Access
- 12. Qual è il formato di data e ora preferito in un nome file?
- 13. Come aggiungere la data nel database SQLite
- 14. Come è possibile ottenere il formato di formato Data e ora predefinito
- 15. FreeTDS strana data Formato ora
- 16. Spring 3.2 Formato ora data
- 17. Data/ora PHP su data/ora (formato personalizzato)
- 18. Passaggio da formato di data e ora in formato numerico
- 19. Allineamento formato stringa data/ora
- 20. Formato data-ora come stagioni in R?
- 21. Come ottengo la data/ora corrente nel formato GG/MM/AAAA HH: MM?
- 22. datetimepicker getDate per restituire Data/Ora nel formato UTC
- 23. Registrazione data e ora Data e ora C#
- 24. Aggiungi data e ora
- 25. Merge Data e ora
- 26. desidera la data e l'ora correnti nel formato "gg/MM/aaaa HH: mm: ss.SS"
- 27. sottrarre data e ora
- 28. come ottenere ora con il formato della data
- 29. Come ottenere la data e l'ora correnti?
- 30. Numero di giorni tra data e data correnti campo
Non sono sicuro su altri db, ma se sei usando MySQL puoi avere una colonna di timestamp che si aggiorna da sola, http://dev.mysql.com/doc/refman/5.0/en/timestamp-initialization.html – Alex
Benvenuto in StackOverflow! Per favore vedi ["Le domande dovrebbero includere" tag "nei loro titoli?"] (Http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-their-titles), dove il consenso è "no, non dovrebbero". –