Ich entwickle eine Artikeldatenbank mit API-Endpunkten unter Verwendung von Symfony 3.2 und Doctrine 2.5. In dem Antrag Körper, habe ich einen Autor:Kinder in Doctrine Entity als Eigenschaft filtern und mutieren/hydratisieren Eingabe
{
"article": {
"title": "Some article",
"author": {
"email": "[email protected]",
"name": "Howard Wedothis"
}
}
}
Ich mag würde eine Update-Einheit mit einem Datetime, Artikel-ID und den Autoren-ID speichern. Um dies zu tun, muss ich folgendes posten:
{
"article": {
"title": "Some article",
"updates": [{
"author": {
"email": "[email protected]",
"name": "Howard Wedothis"
}
}]
}
}
Dies ist nicht so elegant IMO.
Erste Frage: Was ist der beste Weg, um die einfachen Autorenfelder mutieren/hydratisieren und speichern Sie ein Update gegen den Artikel und Autor? Autoren und Artikel sind ManyToMany, aber ich möchte aus Gründen der Lesbarkeit vor allem vermeiden, ein Array zu veröffentlichen.
Zweite Frage: Ist es möglich, Eigenschaften zu dem Artikel Einheit für created
und lastUpdated
hinzuzufügen jeweils die erste und die letzte Aktualisierung angezeigt wird aus dem Artikel ohne einen Repository in die Einheit Injektion?
dh
$article->getCreated() // returns first Update
$article->getLastUpdated() // returns last Update
Ich denke, Sie müssen viele-zu-viele Beziehung mit zusätzlichen Spalten in Referenztabelle behandeln: Sie können sich diese Frage ansehen: http://stackoverflow.com/questions/3542243/doctrine2-best-way-to-handle-many-to-many-with-extra-columns-in-reference-table –