Ich habe ein Modell Foo, die einer Tabelle mit den folgenden Spalten entspricht.Laravel Eloquent ignorieren Attribut, wenn nicht in der Tabelle während der Einfügung
id
Beschreibung
User_id
ich die Attribute des Foo-Modells individuell bin Einstellung (keine Massenzuordnung)
$foo = new Foo;
$foo->id = 1;
$foo->description = "hello kitty";
$foo->user_id = 55;
//...
$ foo zur weiteren Verarbeitung in einer anderen Klasse gesendet wird, aber Da diese Klasse ein bisschen mehr Informationen benötigt, möchte ich sie einfach zum $ foo-Modell hinzufügen.
//...
$foo->bar = $additional_information;
Event::fire(DoStuffWithFoo($foo));
$foo->save(); //error
das Problem ist, wenn ich $foo->save()
, wirft sie bar
keine Spalte ist.
Ich weiß, ich kann unset($foo->bar);
vor dem Speichern, aber ...
Ist es möglich, Eloquent zu sagen, einfach alle nicht relevanten Attribute zu ignorieren?
Ich denke, die $ füllbare Variable von Eloquent kann Ihnen hier helfen: http://stackoverflow.com/questions/20620364/can-eloquent-ignore-irrelevant-data-in-laravel-4 –
Ich sah das, aber ich dachte $ befüllbar wäre nur für Massenaufträge. Ich schätze, ich könnte einfach ein Array erstellen und dieses übergeben, anstatt jedes Attribut einzeln zuzuweisen ... '$ foo = new Foo ($ array);' – dangel