Konvertieren einer carbon-Datum in mysql-timestamp.
Habe ich eine timestamp-variable Spalte in einer mysql-Datenbank. Versuchen, zu konvertieren, ein carbon-timestamp zu etwas, das kann ich input, aber Carbon::now()
gibt nur ein Carbon-Objekt und wenn ich versuche, mit den timestamp-string des Kohlenstoff-Objekt, es meldet sich nicht in 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);
}
Meine erste var-dump ist so:
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)
Meine zweite var dump ist wie so.
Den mysql-Spalte in Bezug auf "published_at" ist eine timestamp-variable. Wie ein ich nehme an, zu konvertieren, das aus einem Kohlenstoff-Objekt?
Vielen Dank im Voraus.
- verwenden
strtotime
auf das Datum.
InformationsquelleAutor 1N5818 | 2015-08-26
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie auch festlegen, Mutator auf Ihr Modell.
konvertieren timestamp
oder Sie können einfach konvertieren Sie das Datum in timestamp mit
strtotime
Hoffe, dass dies helfen.
Die kurze Antwort ist, dass
toDateTimeString()
ist, was Sie suchen:Sehen http://carbon.nesbot.com/docs/ für weitere Optionen, einschließlich
toDateString()
wenn Sie wollen einfach nur das Datum, nicht die Zeit.Aber einen noch besseren Weg, um es behandeln zu lassen wäre Laravel Griff casting-der date-Wert an/aus Carbon Objekt für Sie. Sehen https://laravel.com/docs/5.4/eloquent-mutators#date-mutators.
Das problem im Datums-string, zum Beispiel, haben Sie diese:
Nun, wenn es ein Datum wie 10-12-2014 dann tritt dieser Fehler auf, weil die Stunde und minute fehlt. So stellen Sie sicher, dass das Datum enthält alle pars und auch stellen Sie sicher, dass die Datums-Zeichenfolge enthält - als Trennzeichen nicht /.
In anderen Worten, überprüfen Sie den $Wert, bevor Sie verwenden Carbon und stellen Sie sicher, dass Ihre Datum-string enthält genau die gleichen formatierte Zeichenfolge, die Sie verwendet haben, in die Methode.
Geschieht dies auch in einem accessor-Methode, so überprüfen Sie das Datum Wert zuerst, bevor Sie es in
Carbon::createFromFormat().
Wenn Sie das Datum abrufen von Benutzer-input überprüfen Sie das Datum, bevor Sie es mit Datum-oder date_format:format-Regel, überprüfen Sie die Validierung hier.
Antwort ref:
Laravel/Carbon Timestamp 0000-00-00 00:00:00 oder Unerwartete Daten gefunden. Unerwartete Daten gefunden. Fehlende Daten