Mein Zweck ist Update, wenn der Wert existiert, sonst fügt eine neue Zeile in der Datenbanktabelle nach dem Absenden des Formulars.Laravel updateOrCreate mit automatisch inkrementeller Datenbank
Das Problem ist, die Funktion hier fügt neue Spalten in db-Tabelle statt sie zu aktualisieren.
Hier ist meine Funktion:
MyModel::updateOrCreate(array(
'myField' => 'myValue',
))
->where('myAutoIncrementalField', '=', '5')
->where('myPrimaryKey', '=', '8');
ist mein Datenbank-Tabelle wie folgt aus:
1. myPrimaryKey (nicht automatisch inkrementelle und befüllbar ist auf Modell.)
2. myAutoIncrementalField (auto inkrementelle und kann nicht sein, befüllbar am Modell.)
Vielen Dank im Voraus.
Es funktioniert. Das ist genau das, was ich wollte. Ich konnte keine Dokumentation in Laravel API oder Dokumente finden, wenn Sie die Art teilen, wie man diese Art von Problemen analysiert, würde ich geschätzt werden. Danke für Ihre Hilfe. –
Nun, ich kenne eloquente Ins und Outs. Aber wenn nicht, würde ich wahrscheinlich die Datei 'vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php' öffnen und die Quelle überprüfen. Laravel Quelle hat so ziemlich alles in den Kommentaren. Die Codebasis wird viel häufiger aktualisiert als die Dokumente, so dass Sie nicht alles in der Dokumentation auf der Laravel-Website finden, aber Sie haben die Quelle immer zur Hand. –