Probleme mit "selbst-gejointer" Tabelle

Hallo,

ich habe eine Tabelle über eine M:N Beziehung auf sich selbst gejoined. (oder wie man dazu sagt)

Ich habe meine rules angepasst


array('baseform, wordclass', 'required', 'message' => 'Grundform, und Wortart notwendig'),

In meinem ADD-View, würde ich nun 2 Input Felder einfügen, die jedoch auf das gleiche Feld in der Tabelle zeigen.

Ich habe, dass bis jetzt so gelöst


<input type="text" name="word1">

<input type="text" name="word2">

Natürlich erhalte ich nun die von mir definierte Fehlermeldung, Grundform, und Wortart notwendig’, da ich ja baseform nicht übergebe.

Mein Problem ist, dass ich die Felder nicht so übergeben kann


Word1: <?php echo CHtml::activeTextField($model, 'baseform'); ?>

Word2: <?php echo CHtml::activeTextField($model, 'baseform'); ?>



Da die Felder sich überschreiben.

Wie kann ich das Problem umgehen?

Übergib doch einfach zwei Instanzen des Models an den View. Dann hast du halt $model1 und $model2.

falls ich dein problem richtig verstehe, schau dir doch das blog-tutorial an, speziell wie dort die Tags abgespeichert werden - das ließe sich vielleicht übernehmen?

hier noch der passende link dazu:

http://www.yiiframework.com/doc/blog/post.create

stimmt!

Kann ich dem Hidden Field irgendwie ein Model zuweisen?

Nein,

das ist nicht das was ich gesucht habe, da dort die Tags in einem Feld übergeben werden, ich arbeite hier mit zwei Feldern

Controller


$type1	= new basicforms;

$type2	= new basicforms;


[..]


$this->render('create',array

(

	'type1'	=>	$type1,

	'type2'	=>	$type2,

)

View


<?php echo CHtml::beginForm(); ?>

<?php echo CHtml::submitButton($type1 ? 'Save' : 'Create'); ?>

<?php echo CHtml::activeTextField( $type1, "baseform", array('size' => 40,'maxlength' => 155)); ?>

<?php echo CHtml::activeTextField( $type2, "baseform", array('size' => 40,'maxlength' => 155)); ?>

<?php echo CHtml::endForm(); ?>

Wenn ich nun jedoch im Model folgendes Mache


print_r($_POST);


Array

(

    [yt0] => Save

    [basicforms] => Array

        (

            [baseform] => xyz

        )

)



Im Post steht weder die Variable type1 noch type2

Du übergibst im Controller die $language1 und $language2 und nicht $type1 und $type2 an den view.

war von mir grad falsch ins Forum gepostet! Habe es korrigiert