Yii中同时有多个插入

时间:2015-05-26 08:44:32

标签: php yii

我试图从同一个模型创建2条记录,在2个不同的表中,我的表是 cruge_user profile 表格配置文件(iduser ForeignKey)属于cruge_user(iduser PrimaryKey)。因此我正在使用配置文件模型($ model)并导入cruge_user模型($ modelCruge),当我保存新记录时出现问题,我在数据库中获得7条记录,我注意到我的输入中也有7条输入_form.php所以也许是原因,但无法找到问题。

我的行动:

    public function actionCreate()
{
    $model=new Users;
    $modelCruge=new CrugeStoredUser;
    if(isset($_POST['CrugeStoredUser'], $_POST['Users']))
    {
        $model->attributes=$_POST['Users'];
        $modelCruge->attributes=$_POST['CrugeStoredUser'];


        if ($modelCruge->save(false)){
            $model->iduser = $modelCruge->iduser;
            $model->save(false);
        }

    }

    $this->render('create', array(
        'model'=>$model,
        'modelCruge'=>$modelCruge,
    ));
} 

这是我的_form.php

    <div class="row">
    <?php echo $form->labelEx($modelCruge,'username'); ?>
    <?php echo $form->textField($modelCruge,'username'); ?>
    <?php echo $form->error($modelCruge,'username'); ?>
</div>

<div class="row">
    <?php echo $form->labelEx($modelCruge,'email'); ?>
    <?php echo $form->textField($modelCruge,'email'); ?>
    <?php echo $form->error($modelCruge,'email'); ?>
</div>

<div class="row">
    <?php echo $form->labelEx($modelCruge,'password'); ?>
    <?php echo $form->textField($modelCruge,'password'); ?>
    <?php echo $form->error($modelCruge,'password'); ?>
</div>

<div class="row">
    <?php echo $form->labelEx($model,'name'); ?>
    <?php echo $form->textField($model,'name',array('size'=>45,'maxlength'=>45)); ?>
    <?php echo $form->error($model,'name'); ?>
</div>

<div class="row">
    <?php echo $form->labelEx($model,'surname'); ?>
    <?php echo $form->textField($model,'surname',array('size'=>60,'maxlength'=>100)); ?>
    <?php echo $form->error($model,'surname'); ?>
</div>

<div class="row">
    <?php echo $form->labelEx($model,'rol'); ?>
    <?php $data = array(
        '1' => 'Padre',
        '2' => 'Profesor',
    ); ?>
    <?php echo $form->dropDownList($model,'rol', $data); ?>
    <?php echo $form->error($model,'rol'); ?>
</div>

<div class="row">
    <?php echo $form->labelEx($model,'idschool'); ?>
    <?php echo $form->textField($model,'idschool'); ?>
    <?php echo $form->error($model,'idschool'); ?>
</div>


<br/>
<div class="row buttons">
    <?php echo CHtml::submitButton($modelCruge->isNewRecord ? 'Crear' : 'Guardar'); ?>
</div>

我提交时在数据库中获得的是:

表cruge_user:

iduser-&gt; 1,username-&gt; test,email-&gt; EMPTY,password-&gt; EMPTY ...

iduser-&gt; 2,username-&gt; test,email-&gt; test @ test.com,password-&gt; EMPTY ...

iduser-&gt; 3,username-&gt; test,email-&gt; test @ test.com,password-&gt; test ...

iduser-&gt; 4,username-&gt; test,email-&gt; test @ test.com,password-&gt; test ...

iduser-&gt; 5,username-&gt; test,email-&gt; test @ test.com,password-&gt; test ...

iduser-&gt; 6,username-&gt; test,email-&gt; test @ test.com,password-&gt; test ...

iduser-&gt; 7,username-&gt; test,email-&gt; test @ test.com,password-&gt; test ...

表格配置文件中的

iduser-&gt; 6,name-&gt; test,surname-&gt; test,rol-&gt; 1 ...

iduser-&gt; 7,name-&gt; test,surname-&gt; test,rol-&gt; 1 ..

它在表cruge_user中创建7条记录,在表格模板中创建2条记录:/ 当它只在表格中创建1条记录时:用户和同一个iduser在表格配置文件中创建一条带有额外数据的记录。

一些帮助?

0 个答案:

没有答案