Ich habe eine Tabelle "app_sessions" in meiner Datenbank mit zwei eindeutigen Schlüsseln - device_id und device_token. Ich möchte nur dann eine neue Sitzung in diese Tabelle einfügen, wenn der Datensatz mit device_id oder device_token nicht existiert, andernfalls muss nur die Sitzung für diesen Datensatz aktualisiert werden.auf doppelte Schlüsselaktualisierung in Laravel 5.0 eloquent
Wir können dies mit einer "einfügen .... auf doppelte Schlüsselaktualisierung ....." Abfrage. Aber wie können wir dies erreichen mit Laravel 5.0 eloquent.
Hinweis: Wir kennen alle anderen Möglichkeiten, wie den Datensatz zuerst zu holen und dann je nach den Ergebnissen einzufügen oder zu aktualisieren.
Ich habe diesen Fehler: MassAssignmentException in Model.php Zeile 452: device_token. Wenn ich diese Funktion benutzte, behielt ich die Device_id gleich aber unterschiedliche Device_Token. Die Funktion updateOrCreate prüft jedoch die beiden Spalten (device_id und device_token) mit und condition. Jeff, bekommst du meine Frage? – janardhan
Sie müssen 'device_token' im Array' $ fillable' des Modells haben, wenn Sie es mit einem Array aktualisieren möchten. Das erste Array sollte die Bedingungen sein, die Sie überprüfen möchten, wenn es bereits vorhanden ist, und das zweite Array ist das Array, das Sie aktualisieren möchten. – Jeff
aber das funktioniert nicht, wenn wir zwei Bedingungen haben. Hier müssen wir überprüfen, ob 'device_id' existiert ** ODER **' device_token' existiert. Aber die 'updateOrCreate' Funktion akzeptiert nur' and condition'. – janardhan