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文本数据库的搜索方法
Oct 09 PHP
NO3第三帝国留言簿制作过程
Oct 09 PHP
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
Dec 06 PHP
PHP 中文处理技巧
Apr 25 PHP
phpadmin如何导入导出大数据文件及php.ini参数修改
Feb 18 PHP
php分页示例分享
Apr 30 PHP
简单解决新浪SAE无法上传文件的问题
May 13 PHP
PHP Yaf框架的简单安装使用教程(推荐)
Jun 08 PHP
php动态读取数据清除最右边距的方法
Apr 12 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
May 23 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
Oct 24 PHP
php屏蔽错误及提示的方法
May 10 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
第1次亲密接触PHP5(1)
2006/10/09 PHP
关于mysql 字段的那个点为是定界符
2007/01/15 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
2014/12/16 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
2016/03/22 PHP
PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
2016/04/01 PHP
laravel数据库查询结果自动转数组修改实例
2021/02/27 PHP
javascript中巧用“闭包”实现程序的暂停执行功能
2007/04/04 Javascript
js parsefloat parseint 转换函数
2010/01/21 Javascript
Javascript 函数中的参数使用分析
2010/03/27 Javascript
谈谈关于JavaScript 中的 MVC 模式
2013/04/11 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
浅析Javascript ES6中的原生Promise
2016/08/25 Javascript
gulp解决跨域的配置文件问题
2017/06/08 Javascript
原生js实现仿window10系统日历效果的实例
2017/10/31 Javascript
HTML5+JS+JQuery+ECharts实现异步加载问题
2017/12/16 jQuery
vue项目如何刷新当前页面的方法
2018/05/18 Javascript
seajs和requirejs模块化简单案例分析
2019/08/26 Javascript
es6 super关键字的理解与应用实例分析
2020/02/15 Javascript
python实现简单的socket server实例
2015/04/29 Python
python通过加号运算符操作列表的方法
2015/07/28 Python
python使用xlrd和xlwt读写Excel文件的实例代码
2018/09/05 Python
pandas分别写入excel的不同sheet方法
2018/12/11 Python
音频处理 windows10下python三方库librosa安装教程
2020/06/20 Python
Python爬虫爬取有道实现翻译功能
2020/11/27 Python
html5的websockets全双工通信详解学习示例
2014/02/26 HTML / CSS
中国领先的专业演出票务网:永乐票务
2016/08/29 全球购物
Farnell德国:电子元器件供应商
2018/07/10 全球购物
十佳标兵事迹材料
2014/08/18 职场文书
群众路线教育实践活动整改落实情况汇报
2014/10/28 职场文书
2014年组织委员工作总结
2014/12/01 职场文书
导游欢送词
2015/01/31 职场文书
教师师德承诺书2016
2016/03/25 职场文书
2016年119消防宣传日活动总结
2016/04/05 职场文书
怎样写好工作计划
2019/04/10 职场文书
使用vue-element-admin框架从后端动态获取菜单功能的实现
2021/04/29 Vue.js
Java框架入门之简单介绍SpringBoot框架
2021/06/18 Java/Android