2017-01-06 2 views
1

In unserem api, wenn wir eine Gruppe aktualisieren senden wir die Anfrage in Art und Weise folgendeHat Laravels Request-Objekt einen Standardfeldtitel?

{ 
    "title" : "test", 
    "description" : "test description", 
    "date_time" : 45525465, 
    "interest" : "1", 
    "age_group" : [3], 
    "capacity" : "10", 
    "ethnicity" : [], 
    "privacy_type" : "1",  
} 

Es gibt mehrere andere Schlüssel-Wert-Paare sind. Standardmäßig werden nur die Felder aktualisiert, die in der Anfrage enthalten sind. Zum Beispiel, wenn ich nur privacy_type Ich brauche

{ 
    "privacy_type" : "2" 
} 

Das Problem sende nur zu aktualisieren ist, dass, wenn ich versuche privacy_type so zu aktualisieren, wird title auch mit dem Wert der route aktualisiert. Wenn ich dd($request->input('title') mache, bekomme ich "api/v1/groups/10024" welches ist die Route zum Aktualisieren einer Gruppe. Das Ändern von title zu group_title ist eine Option, aber ich würde gerne wissen, ob es eine andere Option gibt. Dank

+1

Bitte zeigen Sie uns Ihre Controller-Code. –

+0

Controller-Code hat nichts mit meinem Problem zu tun. Ich erhalte ein zusätzliches Feld in der Anfrage, obwohl ich es nicht sende. '$ group-> group_title = $ Anfrage-> Titel ?? $ group-> group_title; 'Wie auch immer, das ist der Teil, der für die Aktualisierung des Gruppentitels verantwortlich ist –

Antwort

1

Sie brauchen nur eine richtige ternäre:

$group->group_title = $request->has('title') ? $request->get('title') : $group->group_title; 
+0

Ich habe diese' $ Anfrage-> hat ('Titel')? dd ($ request-> get ('title')): ''; 'und hat immer noch dasselbe Ergebnis. –

+0

Sie können es als '$ group-> group_title = $ request-> get ('title') schreiben?: $ Group-> group_title;' –