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


Posted in PHP onApril 13, 2020

本文实例讲述了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() ?>

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

PHP 相关文章推荐
php一句话cmdshell新型 (非一句话木马)
Apr 18 PHP
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
May 28 PHP
php 攻击方法之谈php+mysql注射语句构造
Oct 30 PHP
用php实现的下载css文件中的图片的代码
Feb 08 PHP
php 安全过滤函数代码
May 07 PHP
PHP5中新增stdClass 内部保留类
Jun 13 PHP
php多层数组与对象的转换实例代码
Aug 05 PHP
两种设置php载入页面时编码的方法
Jul 29 PHP
PHP 导出Excel示例分享
Aug 18 PHP
php将字符串随机分割成不同长度数组的方法
Jun 01 PHP
PHP Trait代码复用类与多继承实现方法详解
Jun 17 PHP
tp5.1 实现setInc字段自动加1
Oct 18 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
Apr 13 #PHP
php回调函数处理数组操作示例
Apr 13 #PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
Apr 13 #PHP
laravel使用数据库测试注意事项
Apr 10 #PHP
为你的 Laravel 验证器加上多验证场景的实现
Apr 07 #PHP
再谈Yii Framework框架中的事件event原理与应用
Apr 07 #PHP
Yii框架组件的事件机制原理与用法分析
Apr 07 #PHP
You might like
PHP连接和操作MySQL数据库基础教程
2014/09/29 PHP
yii实现图片上传及缩略图生成的方法
2014/12/04 PHP
Gambit vs ForZe BO3 第三场 2.13
2021/03/10 DOTA
js 面向对象的技术创建高级 Web 应用程序
2010/02/25 Javascript
javascript操作JSON的要领总结
2012/12/09 Javascript
jquery导航制件jquery鼠标经过变色效果示例
2013/12/05 Javascript
js中substring和substr的定义和用法
2014/05/05 Javascript
jquery获取及设置outerhtml的方法
2015/03/09 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
Bootstrap3使用typeahead插件实现自动补全功能
2016/07/07 Javascript
表单input项使用label同时引用Bootstrap库导致input点击效果区增大问题
2016/10/11 Javascript
深入理解AngularJS中的ng-bind-html指令
2017/03/27 Javascript
在vue中安装使用vux的教程详解
2018/09/16 Javascript
node上的redis调用优化示例详解
2018/10/30 Javascript
Vue中JS动画与Velocity.js的结合使用
2019/02/13 Javascript
微信小程序图片自适应实现解析
2020/01/21 Javascript
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
Python下载懒人图库JavaScript特效
2015/05/28 Python
python版本的读写锁操作方法
2016/04/25 Python
python3 发送任意文件邮件的实例
2018/01/23 Python
python @property的用法及含义全面解析
2018/02/01 Python
详解pyqt5 动画在QThread线程中无法运行问题
2018/05/05 Python
python3中的md5加密实例
2018/05/29 Python
python实现三维拟合的方法
2018/12/29 Python
Python设计模式之职责链模式原理与用法实例分析
2019/01/11 Python
Python 实现的 Google 批量翻译功能
2019/08/26 Python
python实现复制文件到指定目录
2019/10/16 Python
Python requests上传文件实现步骤
2020/09/15 Python
Python图像识别+KNN求解数独的实现
2020/11/13 Python
海淘母婴商城:国际妈咪
2016/07/23 全球购物
Wiggle美国:英国骑行、跑步、游泳、铁人三项商店
2018/10/27 全球购物
大学毕业寄语大全
2014/04/10 职场文书
《最大的麦穗》教学反思
2014/04/17 职场文书
消防标语大全
2014/06/07 职场文书
通知书大全
2015/04/27 职场文书
英语版自我评价,35句话轻松搞定
2019/10/08 职场文书