yii2.0--多模型操作(添加/修改/删除)

控制器:

<?php

namespace app\controllers;

use Yii;
use yii\web\Controller;
use yii\base\Model;
use app\models\shopUsers;
use app\models\shopLeagueInfo;
use yii\web\NotAcceptableHttpException;

class UserController extends Controller
{
    public $layout = 'shopUser';
    public function actionSave($id)
    {
        $user = shopUsers::find()->where(['id' => $id])->one();
        if (!$user) {
            throw new NotAcceptableHttpException('没有找到用户信息');
        }

        $league = shopLeagueInfo::findOne($user->league_id);
        if (!$league) {
            throw new NotAcceptableHttpException('没有找到加盟商信息');
        }

        //model设置
        $user->scenario = 'update';
        $league->scenario = 'update';

        if ($user->load(\Yii::$app->request->post()) && $league->load(\Yii::$app->request->post())) {
            $isValid = $user->validate();
            $isValid = $league->validate() && $isValid;

            if ($isValid) {
                $user->save(false);
                $league->save(false);
                return $this->redirect(['user/save','id' => $id]);
            }
        }

        return $this->render('save',['user' => $user,'league' => $league]);
    }
}

model模型:

<?php

namespace app\models;


use yii\db\ActiveRecord;

class shopLeagueInfo extends ActiveRecord
{
    public function rules()
    {
        return [['user_real_name'],'required'];
    }

    public function table()
    {
        //
    }

    public function scenarios()
    {
        return [
            'update' => ['user_phone'],//修改操作,值为表字段
        ];
    }
}

其他表同上。

views视图

<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;

$model = new app\models\saveForm();
$form = ActiveForm::begin([
    'id' => 'save-form',
    'options' => ['class' => 'form-horizontal'],
])
?>

<?= $form->field($user,'user_real_name')->input('user_real_name') ?>
<?= $form->field($league,'user_phone')->input('user_phone') ?>

<button>更新</button>
<?php ActiveForm::end() ?>

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值