Ich verwende MongoDB mit Laravel. Ich habe eine Sammlung namens categories
, die ein Dokument hatIndirekte Änderung der überladenen Eigenschaft Laravel MongoDB
[
{
"_id": "567dc4b4279871d0068b4568",
"name": "Fashion",
"images": "http://example.com/1.jpg",
"specifics": [
"made"
],
"brands": [
{
"name": "Giordano",
"logo": "http://example.com/"
},
{
"name": "Armani",
"logo": "http://example.com/"
}
],
"updated_at": "2015-12-25 22:40:44",
"created_at": "2015-12-25 22:35:32"
}
]
Ich versuche, eine Funktion zu machen, die Besonderheiten auf die Besonderheiten Array in dem obigen Dokument hinzuzufügen.
Hier ist, wie meine Anfrage Körper
HTTP: POST
{
"specifics": [
"material"
]
}
ist, und ich bin Umgang mit diesem Antrag mit der folgenden Funktion
/**
* Add specs to category
* @param string $category_id
* @return Illuminate\Http\JsonResponse
*/
public function addSpecifics($category_id)
{
$category = $this->category->findOrFail($category_id);
$category->specifics[] = $this->request->get('specifics');
$status_code = config('http.UPDATED');
return response()->json($category->save(), $status_code);
}
Aber wenn ich diesen Anruf getroffen, erhalte ich Fehler von
ErrorException in CategoryController.php Zeile 101: Indirekte Änderung der überladenen Eigenschaft App \ Category ry :: $ specificals hat keine Wirkung
Bitte helfen Sie mir bei der Beseitigung dieser.
Ich verwende https://github.com/jenssegers/laravel-mongodb dieses Paket für MongoDB.