Symfony2 - How zur Umsetzung von geschachtelten records und rekursive Funktionen, die in den Entity-Bereich oder Zweig Layout?
Habe ich ernsthafte Zweifel über das tun ein Kombinationsfeld mit verschachtelten Datensätzen aus einer Entität in Symfony2. Ich habe gelesen, über geschachtelte Baum-Erweiterung für Lehre 2 in http://gediminasm.org/article/tree-nestedset-behavior-extension-for-doctrine-2 wird, erscheint es interessant, aber es bezieht sich nicht, wie die Umsetzung dieser verschachtelten Struktur in eine Entität Feld in einem Formular.
Außerdem habe ich Lesen Sie mehr über rekursive Funktionen in PHP, und ich fand einen interessanten blog, wo es analysiert wird, hier ist der link http://www.sitepoint.com/hierarchical-data-database/ erklärt es, speziell an diesem rekursive Funktion:
function display_children($parent, $level) {
//Retrieve all children of $parent
$result = mysql_query('SELECT title FROM tree WHERE parent="'.$parent.'"');
//Display each child
while ($row = mysql_fetch_array($result)) {
//Indent and display the title of this child
echo str_repeat(' ',$level).$row['title']."\n";
//Call this function again to display this child's children
display_children($row['title'], $level+1);
}
}
Jemand weiß, wie übersetzen Sie diesen code in Symfony2 und wo es gespeichert werden würde (Steuerung, Organisation, etc.). Wenn jemand andere Ideen hat zu arbeiten, verschachtelte Sätze mit Zweig-Erweiterungen, Es wäre zu schätzen.
Vielen Dank für Ihre Hilfe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist, wie wir umgesetzt, Geschachtelte Struktur für die Kategorien (eingerückt, dropdown) für den Einsatz in Produkt-Bearbeiten-Formular:
Definieren Sie Ihre Kategorie entity-Klasse, wie gezeigt, in der Dokumentation
Fügen Sie eine Methode der Kategorie entity-Klasse, die zeigt, dass der name eingerückt von der nesting level
Definieren der Product-Entität Beziehungen mit der Kategorie Doctrine2 Entitäten mit Anmerkungen (in unserem Fall haben wir mehrere Kategorien support für ein Produkt)
Alles was Sie jetzt tun müssen ist, fügen Sie den folgenden, um die "ProductType" form-Klasse
Nun sollte das Formular in der Karte der dropdown-Liste mit einem korrekt eingerückt Kategorie-Liste
Können Sie einen Blick auf das Baum-Implementierung, die nicht basierend auf nested sets aber auf materialzed Pfade: https://github.com/KnpLabs/materialized-path .
Könnte man sich vorstellen, verwenden Sie die API, um einen flachen Ergebnismenge des Baumes, so wie in deinem code-snippet: