yii2.0框架多模型操作示例【添加/修改/删除】

2020-09-01 12:01:19

本文实例讲述了yii2.0框架多模型操作。分享给大家供大家参考,具体如下:

控制器:

<?php namespace appcontrollers; use Yii;use yiiwebController;use yiibaseModel;use appmodelsshopUsers;use appmodelsshopLeagueInfo;use yiiwebNotAcceptableHttpException; 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 appmodels; use yiidbActiveRecord; class shopLeagueInfo extends ActiveRecord{  public function rules()  {    return [['user_real_name'],'required'];  }   public function table()  {    //  }   public function scenarios()  {    return [      'update' => ['user_phone'],//修改操作,值为表字段    ];  }}

其他表同上。

views视图

<?phpuse yiihelpersHtml;use yiiwidgetsActiveForm; $model = new appmodelssaveForm();$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() ?>

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

相关文章 大家在看