Emultiselect

As tabelas do meu banco estão nesse formato

Tabela1: id, nome

Tabela2: id, nome

Tabela12: id_tabela1, id_tabela2

Quando estou no form de criação para a Tabela1 eu adicionei um emultiselect que apresenta todos os itens da Tabela2. O problema é que eu n estou conseguindo fazer o insert na tabela12.

meu controller esta assim:


public function actionCriar() {

        $model = new Tabela1;


        if (isset($_POST['Tabela1'])) {

            $model->attributes = $_POST['Tabela1'];

            

            if ($model->save()) {

                    $this->redirect(array('view', 'id' => $model->id));

            }

        }


        $this->render('criar', array(

            'model' => $model,

        ));

    }



meu form:




<?php $form=$this->beginWidget('CActiveForm', array(

	'id'=>'',

	'enableAjaxValidation'=>false,

)); ?>


    <div class="row">

        <?php echo $form->labelEx($model, 'id'); ?>

        <?php echo $form->textField($model, 'id'); ?>

        <?php echo $form->error($model, 'id'); ?>

    </div>


    <div class="row">

        <?php echo $form->labelEx($model, 'nome'); ?>

        <?php echo $form->textField($model, 'nome'); ?>

        <?php echo $form->error($model, 'nome'); ?>

    </div>


<?php


$this->widget('application.extensions.emultiselect.EMultiSelect', array('sortable' => true, 'searchable' => true));


    $tab2 = Tabela2::model()->findAll();

    $lista = CHtml::listData($tab2, 'id', 'nome');


    echo $form->dropDownList(new Tabela12,'id_tabela2',$lista,

       array('multiple'=>'multiple',

       'key'=>'id', 'class'=>'multiselect')

     );

?>


    <div class="row buttons">

        <?php echo CHtml::submitButton($model->isNewRecord ? 'Criar' : 'Salvar'); ?>

    </div>


<?php $this->endWidget(); ?>



Como eu devo alterar o controlador e o form para conseguir salvar na tabela12?

Valeu!

links para o emultiselect: http://www.yiiframework.com/extension/emultiselect/

Oi begnini,

O autor da extensão sugere o código pra isso na thread oficial do emultiselect. Espero que te ajude :)

Cara, eu já estava tentando me basear neste tópico, mas não consegui entender como ele está fazendo para salvar. Mas me parece que as relações dele não estão como as minhas. No meu model está assim:

model Tabela1




public function relations() {

    return array(

        'rel_tabela12' => array(self::HAS_MANY, 'Tabela12', 'id_tabela1'),

    );

}



model Tabela2




public function relations() {

    return array(

        'rel_tabela12' => array(self::HAS_MANY, 'Tabela12', 'id_tabela2'),

    );

}



model Tabela12




public function relations() {

    return array(

        'idTabela2' => array(self::BELONGS_TO, 'Tabela2', 'id_tabela2'),

        'idTabela1' => array(self::BELONGS_TO, 'Tabela1', 'id_tabela1'),

    );

}



Alguém pode fazer um exemplo utilizando essa estrutura?

Valeu