Empfehlungen: Erweiterte Suche

1 to many Beziehung auf gleiche Entität

Datenbankobjekte strukturieren und validieren

1 to many Beziehung auf gleiche Entität

Beitragvon wuschu » Di 28. Jun 2011, 15:44

Hallo erst einmal, ich habe folgendes Problem bei dem ich mir von jemandem Hilfe erhoffe.

Ich habe in meinen Datenbankmodell eine Tabelle "structures" mit den Feldern:
- structure_id
- parent_id
- name

Diese möchte ich mit sich selber verknüpfen um eine 1:n Relation zu erhalten. Also ähnlich wie ein Baum.
Mein Cakephp-Modell sieht dann wie folgt aus:

Code: Alles auswählen

<?php
class Structure extends AppModel {
    var $name = 'Structure';
    var $primaryKey = 'structure_id';
    var $displayField = 'name';
    //The Associations below have been created with all possible keys, those that are not needed can be removed

    var $belongsTo = array(
        'ParentStructure' => array(
            'className' => 'Structure',
            'foreignKey' => 'parent_id',
            'conditions' => '',
            'fields' => '',
            'order' => ''
        )
    );
   
    var $hasMany = array(
        'ChildStructure' => array(
            'className' => 'Structure',
            'foreignKey' => 'parent_id',
            'dependent' => false,
            'conditions' => '',
            'fields' => '',
            'order' => '',
            'limit' => '',
            'offset' => '',
            'exclusive' => '',
            'finderQuery' => '',
            'counterQuery' => ''
        )
    );
}
 


Nach dem erstellen des Controllers und der View lässt sich aber kein Element als übergeordnet definieren. (Das Dropdown ist leer), ändere ich die View ab:
Code: Alles auswählen
echo $this->Form->input('ParentStructure');

Wird das Dropdown befüll leider wird der ausgewähle Eintrag aber nicht in der Datenbank abgespeichert.

Trage ich manuell Id's in der Datenbank ein, werden diese in der Listen-Ansicht korrekt als Eltern-Element angezeigt...

Kann mir da jemand einen Tip geben? Vielen Dank. wuschu
wuschu
 
Beiträge: 1
Registriert: Di 28. Jun 2011, 15:25

Re: 1 to many Beziehung auf gleiche Entität

Beitragvon mbrod » Di 28. Jun 2011, 17:44

Eine direkte Antwort auf das konkret geschilderte Problem kann ich leider nicht geben. Da aber das Stichwort Baumstruktur gefallen ist, kann vielleicht das Core Behavior Tree weiter helfen:
http://book.cakephp.org/view/1339/Tree
mbrod
 
Beiträge: 199
Registriert: Mi 20. Mai 2009, 18:09
Wohnort: Frankfurt am Main
CakePHP-Version: 1.3.8
OS: Mac OS X


Zurück zu Models

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron