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/