Php 将数据更新到相关表yii2
我有表Php 将数据更新到相关表yii2,php,mysql,yii2,Php,Mysql,Yii2,我有表USR和ORGANIZATION: USR表 |ID | ID_APP | NAMA_APP| 组织表 |ID | NAMA | 我试图按ID(关系)从组织向USR表(ID\u APP和NAMA\u APP)插入数据。这是我的代码: 用户控制器: public function actionUpdate($id) { $model = $this->findModel($id); if (Yii::$app->request->
USR
和ORGANIZATION
:
USR表
|ID | ID_APP | NAMA_APP|
组织表
|ID | NAMA |
我试图按ID(关系)从组织向USR
表(ID\u APP和NAMA\u APP)插入数据。这是我的代码:
用户控制器:
public function actionUpdate($id)
{
$model = $this->findModel($id);
if (Yii::$app->request->post()) {
try {
$state = true;
$data = Yii::$app->request->post();
$transaction = Yii::$app->db->beginTransaction();
$model->ID_APP = $data['USR']['ID_APP'];
$model->NAMA_APP = $data['USR']['NAMA_APP'];
if (!$model->save()) {
$ErrorMessage = $model->getErrorMessage($model->getErrors());
throw new Exception($ErrorMessage);
}
$transaction->commit();
$message = "Success update Application ";
} catch (Exception $e) {
$state = false;
$transaction->rollback();
$message = $e->getMessage();
}
if ($state) {
Yii::$app->session->setFlash('successApplication', $message);
return $this->redirect(['view', 'id' => $model->ID]);
} else {
Yii::$app->session->setFlash('errorApplication', $message);
return $this->render('view', ['id' => $model->ID]);
}
} else {
return $this->render('update', [
'model' => $model,
]);
}
}
我的看法是:
<?php $org = \app\models\ORGANIZATION::find()->all(); ?>
<?= $form->field($model, 'ID_APP')->dropDownList(
ArrayHelper::map($org,'ID', 'NAMA'))->label('ID APP') ?>
我仍然是php
和yii2
框架的初学者。如何从NAMA(ORGANIZATION
)获取NAMA_应用程序(USR
表)?基于您发布ID_应用程序并需要为USR中的一个单独商店检索NAMA_应用程序的查看假设
// make accessible your ORGANIZAZTION model with use eg:
// use common\models\ORGANIZATION; or
use yourapp\models\ORGANIZATION;
public function actionUpdate($id)
{
$model = $this->findModel($id);
if (Yii::$app->request->post()) {
try {
$state = true;
$data = Yii::$app->request->post();
$transaction = Yii::$app->db->beginTransaction();
$model->ID_APP = $data['USR']['ID_APP'];
// then you can use eg: the find method
// related to ORGANIZAZTION active record
$modelOrg = ORGANIZATION::find()->where(['ID_APP']=> $data['USR']['ID_APP'])->one();
$model->NAMA_APP = $modelOrg->NAMA_APP
....