Laravel 5 Carbone format datetime
J'ai un tableau qui renvoient le texte suivant date time:
$item['created_at'] => "2015-10-28 19:18:44"
Comment dans laravel l'utilisation de carbone format dans ce format M d Y
.
Actuellement, cette méthode renvoie une erreur
$suborder['payment_date'] = $item['created_at']->format('M d Y');
Merci!!
Semble que le
yup, alors comment puis-je convertir?
Êtes-vous convertir le modèle dans un tableau? Parce que par défaut, il est une instance de Carbone.
Et pas encore demandé, est-il un très spécial de l'échelle besoin de renommer
Et:
created_at
ne contient pas une instance d'un objet de carbone.yup, alors comment puis-je convertir?
Êtes-vous convertir le modèle dans un tableau? Parce que par défaut, il est une instance de Carbone.
Et pas encore demandé, est-il un très spécial de l'échelle besoin de renommer
created_at
à payment_date
? Utilisez simplement $payment->created_at
dans votre lame modèle directement.Et:
created_at
est un Laravel-interne de la colonne, vous avez automatiquement lorsque vous utilisez $table->timestamps()
dans votre fichier de migration. De Plus, vous ne devrait PAS définir par vos propres.OriginalL'auteur d3bug3r | 2015-10-29
Vous devez vous connecter pour publier un commentaire.
Il est facile pour Laravel 5 dans votre Modèle à ajouter une propriété
protected $dates = ['created_at', 'cached_at']
. Voir le détail ici https://laravel.com/docs/5.2/eloquent-mutators#date-mutatorsEx:
Vous pouvez formater la date comme ceci
$user->created_at->format('M d Y');
ou le format de support par PHP.'date_confirmation' => string '-0001-11-30 00:00:00' (length=20)
. Vous savez pourquoi le faire et comment je peux le résoudre?C'est par l'utilisation de l'approche. Je regarde pour une approche plus générale, signifie une config d'entrée et de Tous les
Carbon\Carbon
attributs sont formatés de la même (je l'ai déjà utiliserprotected $dates = ['my_date_at'];
).OriginalL'auteur Sophy
D'abord analyser le champ created_at que le Carbone de l'objet.
Ensuite, vous pouvez utiliser
OriginalL'auteur Milan Maharjan
Si vous utilisez éloquent modèle (en regardant ton code, je pense que vous êtes), vous n'avez pas besoin de le convertir en tableau. Juste l'utiliser comme objet. Becaus elike Thomas Kim a dit, par défaut, c'est le Carbone instance
Il devrait donc être
Mais si il n'est alors pas, vous devez le convertir en Carbone objet de Milan Maharjan réponse
Payment $payment
d'utilisation, donc pas besoin pour le convertir en tableau, vous pouvez toujours utiliser direct Éloquent modèle d'objets dans votre lame de modèles. Mais encore, je préfère ne pas renommercreated_at
àpayment_date
.OriginalL'auteur fajarhac
Laravel 5 horodatages sont des instances de Carbone de la classe, de sorte que vous pouvez appeler directement le Carbone dans la chaîne de mise en forme de la méthode sur votre horodateurs. Quelque chose comme ceci dans votre fichier de vue.
http://carbon.nesbot.com/docs/#api-formatting
created_at
a été ajoutée, par exemple en ajoutant des$table->timestamps()
pour votre fichier de migration, pour les documents devant elle,created_at
seraNULL
et puis cela va déclencher une erreur sur un appel de méthode sur un non-objet de l'appel.OriginalL'auteur Tushar
Déclarer dans le modèle:
created_at
etupdated_at
il n'est pas nécessaire pourprotected $dates = [];
dans votreModel
. Mais si vous avez personnalisé les colonnes, comme je l'ai, vous devez les ajouter à ce tableau et ne pas ajouterprotected $timestamps = true;
à votre modèle, comme c'est le défaut.OriginalL'auteur Filipe Cruz
Payment->created_at
est ensuite renommépayment_date
et pas d'utilisation de directPayment
classe (Éloquent modèle) qui ne permet que laarray $item
comme type d'indicateur. Peut-être pas ce que vous voulez?Puis-je vous demander pourquoi je suis passer de votes pour cette réponse? Je viens de -2 qui se sent un peu injuste parce que mes critiques sont au 2ème cru bon.
OriginalL'auteur Sanith
Essayer ça:
created_at
est converti àCarbon\Carbon
automatiquement, siprotected $timestamps = false;
est PAS définir. Vous avez également besoin d'un$table->timestamps();
dans votre fichier de migration.OriginalL'auteur li bing zhao