CakePHP 2.1 - Problem in Edit-View mit Daten aus HABTM-Beziehung

33 views
Skip to first unread message

Wall-D

unread,
Apr 3, 2012, 1:52:59 AM4/3/12
to cakep...@googlegroups.com
Hallo,

ich entwickle eine kleine Datenbank zur Verwaltung von Servern etc. Diese läuft momentan mit CakePHP 1.2, nun bin ich dabei alles auf CakePHP 2.1 umzustellen.

Hier mein Problem:

Tabellen:
Device (has many) Detail (belongs to) DetailType
Datenbeispiel:
Server1           0815-1234           Seriennummer
Server1           1234-5678           Inventarnummer
Server2           9876-1234           Seriennummer

in der edit-Device View will ich nun bei einem ausgewählten Gerät alle Detail incl Detail-Types anzeigen, aber ich bekomme es nicht hin unter CakePHP 2.1

hier der Code:

            <?php
                     $counter = 0;
                     foreach ($this->data['Detail'] as $detail):
                     echo $this->Form->hidden('Detail.'.$counter.'.id',array( 'value' => $detail['id']));
                        echo $this->Form->input('Detail'.$counter.'DetailType'.'name', array(
                        'type' => 'select',
                        'label' => 'Detail Art ',
                        'selected' => $this->Form->data['Detail'][$counter].'detail_type_id',
                        'div'=>'formfield',
                        'error' => array(
                            'wrap' => 'div',
                            'class' => 'formerror'
                            )
                        ));
                        echo $this->Form->input('Detail.'.$counter.'.name',  array(
                        'label' => 'Detail',
                        'div'=>'formfield',
                        'error' => array(
                            'wrap' => 'div',
                            'class' => 'formerror'
                            )
                        ));
                          $counter++;
                     endforeach;
            ?>

Die SelectBox in welcher der DetailType auftauchen soll, bleibt leer, im Textfeld steht der richtige Wert drin.

Inhalt von $detail:

Array
(
    [id] => 152
    [device_id] => 110
    [name] => 2190204-0000
    [created] => 2011-10-07 08:58:11
    [modified] => 2012-01-27 15:19:09
    [status] => 1
    [detail_type_id] => 1
    [Device] => Array
        (
            [id] => 110
            [name] => Server-01
            [description] => Host 1
            [installation] => 2011-10-07 08:55:00
            [height] => 2
            [position] => 22
            [powersupply] => 2
            [ram] => 
            [isvirtual] => 0
            [isparent] => 1
            [hddsize] => 
            [cputype] => 
            [san] => 1
            [condition_id] => 1
            [fowner_id] => 5
            [towner_id] => 6
            [product_id] => 5
            [rack_id] => 7
            [system_id] => 12
            [servicela_id] => 3
            [parent_id] => 
            [comment] => - Host für VMs
            [created] => 2011-10-07 08:58:11
            [modified] => 2012-01-27 15:19:09
            [status] => 1
        )

    [DetailType] => Array
        (
            [id] => 1
            [name] => Inv.-Nummer
            [description] => Inventarnummer
            [created] => 2009-09-06 22:47:21
            [modified] => 2009-09-08 16:42:18
            [status] => 1
        )

)

Hoffe die Beschreibung ist ausführlich genug, ansonsten kann ich gerne noch Detail nachreichen.

Irgendwer irgendwelche Ideen?
Reply all
Reply to author
Forward
0 new messages