Ich habe folgende Tabellen:mit Pivot-Tabelle aus Massenzuordnung Schütze eloquent
document: id, name;
author: id, name, job_title;
document_author: document_id, author_id, position
Ich bin eine Reihe von folgenden Struktur vorbei:
$attributes = [name, job_title, position];
Ich versuche Autor Modell zu erstellen und befestigen zu dokumentieren:
$author = \Author::create($attributes);
\Document::find($id)->authors()->save($author,$attributes);
Dann habe ich QueryException
bekommen, weil Laravel Massen assign versucht Attribute zu Pivot-Tabelle, während es nur ein position
Feld übergeben sollte.
Die einzige Lösung, die ich bekam ist Array zu filtern, wie folgt aus:
$author = \Author::create($attributes);
$pivotAttributes = array_only($attributes, ['position'])
\Document::find($id)->authors()->save($author,$pivotAttributes);
Gibt es eine bessere Möglichkeit, zu definieren, welche Spalten von Pivot-Tabelle sind befüllbar, besser irgendwo im Modell oder in seiner Beziehung?
Wenn '$ attributes' ist ein' Request' (oder 'Input') Beispiel könnten Sie tun' $ request-> nur ('Position '); ' –