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 相关文章推荐
定制404错误页面,并发信给管理员的程序
Oct 09 PHP
php垃圾代码优化操作代码
Aug 05 PHP
关于PHP递归算法和应用方法介绍
Apr 15 PHP
PHP以指定字段为索引返回数据库所取的数据数组
Jun 30 PHP
php根据身份证号码计算年龄的实例代码
Jan 18 PHP
php获得用户ip地址的比较不错的方法
Feb 08 PHP
php使用wordwrap格式化文本段落的方法
Mar 17 PHP
ThinkPHP模型详解
Jul 27 PHP
YII动态模型(动态表名)支持分析
Mar 29 PHP
js基于qrcode.js生成二维码的方法【附demo插件源码下载】
Dec 28 PHP
PHP实现的折半查找算法示例
Dec 19 PHP
php计数排序算法的实现代码(附四个实例代码)
Mar 31 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实现文件上传二法
2006/10/09 PHP
php array_merge下进行数组合并的代码
2008/07/22 PHP
一个PHP验证码类代码分享(已封装成类)
2011/07/17 PHP
jquery中dom操作和事件的实例学习 仿yahoo邮箱登录框的提示效果
2011/11/30 Javascript
javascript的propertyIsEnumerable()方法使用介绍
2014/04/09 Javascript
JavaScript避免代码的重复执行经验技巧分享
2014/04/17 Javascript
AngularJS初始化过程分析(引导程序)
2014/12/06 Javascript
javascript创建对象的几种模式介绍
2016/05/06 Javascript
Bootstrap3 模态框使用实例
2017/02/22 Javascript
Vue.js结合bootstrap实现分页控件
2017/03/10 Javascript
如何在AngularJs中调用第三方插件库
2017/05/21 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
Vue的生命周期操作示例
2019/09/17 Javascript
基于layui table返回的值的多级嵌套的解决方法
2019/09/19 Javascript
JS中作用域以及变量范围分析
2020/07/18 Javascript
JavaScript如何实现监听键盘输入和鼠标监点击
2020/07/20 Javascript
基于react项目打包css引用路径错误解决方案
2020/10/28 Javascript
python读取和保存视频文件
2018/04/16 Python
Python之list对应元素求和的方法
2018/06/28 Python
Python3单行定义多个变量或赋值方法
2018/07/12 Python
python爬虫之线程池和进程池功能与用法详解
2018/08/02 Python
python爬虫超时的处理的实例
2018/12/19 Python
Python Numpy库安装与基本操作示例
2019/01/08 Python
Django项目后台不挂断运行的方法
2019/08/31 Python
tensorflow estimator 使用hook实现finetune方式
2020/01/21 Python
Django配置Bootstrap, js实现过程详解
2020/10/13 Python
纯css3实现鼠标经过图片显示描述的动画效果
2014/09/01 HTML / CSS
C语言编程练习
2012/04/02 面试题
乡镇总工会学雷锋活动总结
2014/03/01 职场文书
小学母亲节活动方案
2014/03/14 职场文书
铅球加油稿100字
2014/09/26 职场文书
2014年数学教师工作总结
2014/12/03 职场文书
研究生就业推荐表导师评语
2014/12/31 职场文书
2015年法制宣传月活动总结
2015/03/26 职场文书
SpringBoot 集成Redis 过程
2021/06/02 Redis
详细了解java监听器和过滤器
2021/07/09 Java/Android