2017-01-04 120 views
0

我正在申请创建条形码 在我的应用程序中,我想创建Barang,但在发行单中,我想从最后一个发行单自动填充发票单 我该怎么做修理它?如何获取最后一个插入记录 - Yii 2

enter image description here

这是我的看法

<?php 

use yii\helpers\Html; 
use yii\widgets\ActiveForm; 

/* @var $this yii\web\View */ 
/* @var $model backend\models\Barang */ 
/* @var $form yii\widgets\ActiveForm */ 
?> 

<div class="barang-form"> 

    <?php $form = ActiveForm::begin(); ?> 

    <?= $form->field($model, 'rm_code')->textInput(['maxlength' => true]) ?> 

    <?= $form->field($model, 'nama_barang')->textInput(['maxlength' => true]) ?> 

    <?= $form->field($model, 'berat')->textInput(['maxlength' => true]) ?> 



    <?= $form->field($model, 'issue_slip')->textInput(['maxlength' => true]) ?> 

    <div class="form-group"> 
     <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> 
    </div> 

    <?php ActiveForm::end(); ?> 

</div> 

<div class="row"> 
    <?= $form->field($model, 'berat')->textInput(['maxlength' => true]) ?> 
    <?php echo \Yii::$app->db->getLastInsertId('{{barang}}');?> 

    </div> 
+0

两者是相同的模型属性? –

+0

@YasarArafath是的,它是一样的,我能做什么? –

回答

2

在控制器渲染之前

public function actionCreate() 
{ 
    $model = new Barang(); 
    $modelForSlip = Barang::find()->orderBy(['id'=> SORT_DESC])->one(); 
    $model->issue_slip = $modelForSlip->issue_slip; 

    if ($model->load(Yii::$app->request->post())){ 

     $model->waktu = date('Y-m-d h:m:s'); 
     $model->user = \Yii::$app->user->identity->username; 
     $model->save(); 

     return $this->redirect(['view', 'id' => $model->id]); 
    } else { 
     return $this->render('create', [ 
      'model' => $model, 
     ]); 
     //$model->issue_slip= \Yii::$app->db->getLastInsertId(); 
    } 
} 
+0

是不是? http://pastebin.com/LeyNh7LM 我不觉得有什么效果 –

+0

看到答案现在 –

+0

我得到blankspace –

0

让我们说这是你创建的功能:

public function actionCreate() 
    { 
     $model = new Modal(); 

     if ($model->load(Yii::$app->request->post()) && $model->save()) { 
      return $this->redirect(['update', 'id' => $model->Id]); 
     } else { 
      return $this->render('create', [ 
       'model' => $model, 
      ]); 
     } 
    } 

的ñ重定向到新的页面,最后插入ID 现在让你更新功能,这样

public function actionUpdate($id) 
     { 
      $model2 = Model::findOne($id); 
      $model = new Modal(); 
$model->issue_slip = $model2['issue_slip']; 




      if ($model->load(Yii::$app->request->post()) && $model->save()) { 
       return $this->redirect(['view', 'id' => $model->Id]); 
      } else { 
       return $this->render('update', [ 
        'model' => $model, 
       ]); 
      } 
     } 

YII2后就可以save()功能轻松

$model->save(); 
echo $model->Id 

或任何得到最后插入记录列你想获得 而不是issue_slip,你可以使用任何你想要

任何列
+0

当你保存的任何模型,则保存函数被调用,你可以从上次保存任何数据刚过我没有得到任何东西 –

+0

,这样 '$模型 - >保存(); 回声$模型 - >编号' 或要使用 ,而是分贝任何列名'echo'你可以通过它可以将任何功能,也可以在每次创建新的记录时间后,只需使用任何方式 –

+0

你可以在你想要的 请再次检查我的回答您所使用的最后插入的数据重定向到'update'页,然后 –

相关问题