Empfehlungen: Erweiterte Suche

[gelöst] Mehrere Instanzen eines Modells in einem Formular

Unterstützung der Daten-Formatierung in den Views (DRY)

[gelöst] Mehrere Instanzen eines Modells in einem Formular

Beitragvon TB32 » Mi 28. Dez 2011, 17:11

hey leute, bin so langsam am verzweifeln. Hab shcon das halbe Netz abgesucht. folgendes Problem: ich habe ein Model namens "Item" ... nun hab ich ein Tabelle wo man eine gewisse Anzahl an Items übersichtlich dargestellt bekommt und die Eigenschaften editieren kann. das ganz sieht so aus:

Code: Alles auswählen

<table>
    <?php echo $this->Form->create('Item');?>
    <tr>
        <th>Typenbezeichnung</th>
        <th>Seriennummer</th>
    </tr>
    <?php
    for ($i = 0; $i < $_POST['count']; $i++){
        ?>
    <tr>
        <td><?php echo $this->Form->input('typ', array('label' => false, 'div' => array('class' => 'small_width'))); ?>
        </td>
        <td><?php
        echo $this->Form->input('sn', array('label' => false, 'div' => array('class' => 'small_width'))); ?>
        </td>
        <?php

    }?>
    </tr>
    <?php echo $this->Form->end('Items abspeichern');?>
</table>
 


nur leider übergibt er mir immer nur ein Item. gibt es eine Funktion die mehrere instanzen in das "data"-Array schreibt bzw. gibt es Funktionen in dem Helper??? oder komm ich nicht drumherum alles komplett händisch selber zu schreiben???
TB32
 
Beiträge: 2
Registriert: Mi 28. Dez 2011, 17:05

Re: Mehrere Instanzen eines Modells in einem Formular

Beitragvon TB32 » Do 29. Dez 2011, 12:14

okay hab es selber herausgefunden, man muss als Feldangabe den Modellnamen und die Arrayposition (in diesem Fall das durchiterierende $i) mit Punkten getrennt angeben:

Code: Alles auswählen
<table>
    <?php echo $this->Form->create('Item');?>
    <tr>
        <th>Typenbezeichnung</th>
        <th>Seriennummer</th>
    </tr>
    <?php
    for ($i = 0; $i < $_POST['count']; $i++){
        ?>
    <tr>
        <td><?php echo $this->Form->input('Item.$i.typ', array('label' => false, 'div' => array('class' => 'small_width'))); ?>
        </td>
        <td><?php
        echo $this->Form->input('Item.$i.sn', array('label' => false, 'div' => array('class' => 'small_width'))); ?>
        </td>
        <?php

    }?>
    </tr>
    <?php echo $this->Form->end('Items abspeichern');?>
</table>
TB32
 
Beiträge: 2
Registriert: Mi 28. Dez 2011, 17:05


Zurück zu Helper

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron