La conversion d'une date de carbone à mysql d'horodatage.
J'ai un timestamp colonne variable dans une base de données mysql. Essayez de convertir un carbone d'horodatage pour quelque chose que je puisse y entrer, mais Carbon::now()
seulement renvoie un objet de Carbone et quand j'essaie d'utiliser le timestamp de la chaîne de Carbone de l'objet, il ne s'inscrit pas dans mysql.
public function store(CreateArticleRequest $request){
$input = $request->all();
var_dump($input); //JUST SO YOU CAN SEE
$input['published_at'] = Carbon::now();
var_dump($input); //JUST SO YOU CAN SEE
Article::create($input);
}
Ma première var dump est comme suit:
array (size=4)
'_token' => string 'Wy67a4hWxrnfiGz61wmXfYCSjAdldv26wOJiLWNc' (length=40)
'title' => string 'ASDFasdf' (length=8)
'body' => string 'asdfasdf' (length=8)
'published_at' => string '2015-08-26' (length=10)
Mon deuxième var dump est comme si.
Mysql colonne relative à l' "published_at" est un timestamp variable. Comment un je suppose que pour convertir à partir d'un Carbone de l'Objet?
Merci à l'avance.
utilisation
strtotime
sur la date.OriginalL'auteur 1N5818 | 2015-08-26
Vous devez vous connecter pour publier un commentaire.
Vous pouvez également définir Mutateur sur votre modèle.
à convertir le timestamp
ou vous pouvez simplement convertir la date en timestamp à l'aide de
strtotime
Espérons que cette aide.
OriginalL'auteur mdamia
La réponse courte est que
toDateTimeString()
est ce que vous cherchez:Voir http://carbon.nesbot.com/docs/ pour plus d'options, y compris
toDateString()
si vous voulez juste la partie de la date, et non le temps.Mais une bien meilleure façon de le gérer, serait de laisser Laravel poignée de coulée de la valeur de date/à partir d'un Carbone de l'objet pour vous. Voir https://laravel.com/docs/5.4/eloquent-mutators#date-mutators.
OriginalL'auteur orrd
Le problème est dans votre chaîne de date, par exemple, vous avez ceci:
Maintenant, si il ya une date comme le 10-12-2014 alors cette erreur se produit parce que l'heure et la minute est manquant. Si vous assurez-vous que la date contient tous les pars et aussi assurez-vous que la date chaîne de caractères contient - comme séparateur et non /.
En d'autres termes, vérifiez la valeur en dollars avant d'utiliser le Carbone et assurez-vous que votre date chaîne de caractères contient exactement de la même chaîne mise en forme que vous avez utilisé dans la méthode.
Cela arrive aussi dans une méthode d'accesseur, afin de vérifier la valeur de la date de la première avant de l'utiliser dans
Carbon::createFromFormat().
Si vous êtes à la date de l'obtention de la saisie de l'utilisateur puis de valider la date avant de l'utiliser à l'aide de la date ou de l'date_format:format de la règle, cochez la validation ici.
Répondre ref:
Laravel/Carbone Timestamp 0000-00-00 00:00:00 ou Inattendue des données trouvées. Les données inattendues trouvé. Les données manquantes
OriginalL'auteur iCoders