2 gleiche Models in einer View unterscheiden?

Hi,

ich habe folgendes Problem.

Ich habe eine HAS_MANY Beziehung auf die gleiche Tabelle.

Nun habe ich im Controller das Model, zwei mal initialisiert und übergebe beide Model an die View




$oPhrase1 = new Phrases;

$oPhrase2 = new Phrases;


$this->render('create',array

(

	'oPhrase1'	=>	$oPhrase1,

	'oPhrase2'	=>	$oPhrase2,

));



Das Problem ist, jedoch die Bezeichnung der Felder in der View Datei.

Bei Felder heißen nach dem rendern "Phrases" und somit überschreibt das eine Feld, das andere.




<?php echo $form->textField($oPhrase1,'phrase',array('size'=>60,'maxlength'=>100)); ?>

<?php echo $form->textField($oPhrase2,'phrase',array('size'=>60,'maxlength'=>100)); ?>



Ausgabe




<input size="60" maxlength="100" name="Phrases[phrase]" id="Phrases_phrase" type="text">

<input size="60" maxlength="100" name="Phrases[phrase]" id="Phrases_phrase" type="text">



Wie kann ich zwei gleiche Models in der View unterscheinden?

thx!!!

Du kannst das Feature für tabellarische Eingaben dafür verwenden: http://www.yiiframework.com/doc/guide/1.1/de/form.table

In deinem Formular schreibst du dazu einfach sowas wie:


<?php echo $form->textField($oPhrase1,'[1]phrase') ?>

<?php echo $form->textField($oPhrase2,'[2]phrase') ?>



Im Controller hast du die Daten dann in $_POST[‘Phrase’][1] und $_POST[‘Phrase’][2].

stimmt! Danke!