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+MYSQL的文章管理系统(二)
Oct 09 PHP
如何在PHP中使用Oracle数据库(3)
Oct 09 PHP
常用的php对象类型判断
Aug 27 PHP
PHP关联数组的10个操作技巧
Jan 21 PHP
深入解析PHP内存管理之谁动了我的内存
Jun 20 PHP
php中session退出登陆问题
Feb 27 PHP
php中数据库连接方式pdo和mysqli对比分析
Feb 25 PHP
PHP实现扎金花游戏之大小比赛的方法
Mar 10 PHP
php字符串操作针对负值的判断分析
Jul 28 PHP
浅谈php和js中json的编码和解码
Oct 24 PHP
php从数据库中获取数据用ajax传送到前台的方法
Aug 20 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
Oct 15 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中文字母数字验证码实现代码
2008/04/25 PHP
探讨:如何通过stats命令分析Memcached的内部状态
2013/06/14 PHP
ThinkPHP路由机制简介
2016/03/23 PHP
JavaScript 拾碎[三] 使用className属性
2010/10/16 Javascript
jQuery中filter()和find()的区别深入了解
2013/09/25 Javascript
Javascript 按位与赋值运算符 (&amp;=)使用介绍
2014/02/04 Javascript
jQuery中选择器小问题(新人难免遇到)
2014/03/31 Javascript
JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)
2014/09/13 Javascript
javascript循环链表之约瑟夫环的实现方法
2017/01/16 Javascript
JS简单封装的图片无缝滚动效果示例【测试可用】
2017/03/22 Javascript
vue-cli如何引入bootstrap工具的方法
2017/10/19 Javascript
JS控制鼠标拒绝点击某一按钮的实例
2017/12/29 Javascript
vue实现的组件兄弟间通信功能示例
2018/12/04 Javascript
Django+vue跨域问题解决的详细步骤
2019/01/20 Javascript
vue无限轮播插件代码实例
2019/05/10 Javascript
什么时候不能在 Node.js 中使用 Lock Files
2019/06/24 Javascript
微信小程序 wx:for遍历循环使用实例解析
2019/09/09 Javascript
JS实现公告上线滚动效果
2021/01/10 Javascript
[01:47]2018年度DOTA2最佳教练-完美盛典
2018/12/16 DOTA
Python的Django框架中的select_related函数对QuerySet 查询的优化
2015/04/01 Python
django中的setting最佳配置小结
2017/11/21 Python
Python+PIL实现支付宝AR红包
2018/02/09 Python
Pandas 同元素多列去重的实例
2018/07/03 Python
python flask框架实现重定向功能示例
2019/07/02 Python
python垃圾回收机制(GC)原理解析
2019/12/30 Python
Pytest参数化parametrize使用代码实例
2020/02/22 Python
Html5实现文件异步上传功能
2017/05/19 HTML / CSS
使用HTML5加载音频和视频的实现代码
2020/11/30 HTML / CSS
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
Otticanet澳大利亚:最顶尖的世界名牌眼镜, 能得到打折季的价格
2018/08/23 全球购物
路政管理专业推荐信
2013/11/11 职场文书
交警个人先进事迹材料
2014/05/11 职场文书
教育局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
学习心理学的体会
2014/11/07 职场文书
2015年度质量工作总结报告
2015/04/27 职场文书
刑事案件上诉状
2015/05/23 职场文书