Ich habe Probleme, eine grundlegende Datensatzaktualisierung per POST in Laravel durchzuführen.Laravel Aktualisierungssyntax - Datensatz mit Array aktualisieren
Ich habe alle Post-Daten in einem Array erfasst, und wenn die vorhandene Bestellnummer 0 ist, dann erstelle ich einen neuen Datensatz (funktioniert gut). Ansonsten aktualisiere ich den bestehenden Datensatz.
order.php
class Order extends Eloquent {
public static $table = 'my_orders';
}
routes.php
//Handle a new order POST
Route::post('order', array('do' => function() {
$thisOrder = array(
'qty' => Input::get('quantity'),
'desc' => Input::get('description'),
);
$thisOrderID = Input::get('orderNo');
//CHECK FOR NEW OR EXISTING ORDER
if($thisOrderID > 0) {
//THIS FUNCTION SOMEHOW RETURNS THE FUNCTION CALL AND DOESNT CONTINUE PAST
//AND THE RECORD IS NOT UPDATED
$updateOrder = Order::update($thisOrderID, $thisOrder);
}
}
Update: Der obige Code in der Tat Arbeit. Ich hatte einen Validierungsfehler, der dazu führte, dass die Funktion vorzeitig zurückkehrte.
Wenn das funktioniert, ist genau das, was ich suche. Ist das irgendwo in den Laravel-Dokumenten dokumentiert? Ich habe sie gründlich durchgesehen. Wird dies einen booleschen Wert zurückgeben? – jamis0n
Ein redegewandtes Modell kann durch seine Eigenschaften angepasst werden. Aber auch mit Laravels nativem Datenbankmodell Fluent. Es ist in den Dokumenten hier erwähnt: http://laravel.com/docs/database/fluent#update – markvaneijk
Stellt $ updateOrder = Order :: update ($ thisOrderID, $ thisOrder); 'funktioniert gut. Ich hatte einen Fehler in meiner Validierung, weshalb ich unerwartete Ergebnisse erhalten habe. – jamis0n