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 相关文章推荐
加速XP搜索功能堪比vista
Mar 22 PHP
php 分页类 扩展代码
Jun 11 PHP
php下获取客户端ip地址的函数
Mar 15 PHP
php中$_REQUEST、$_POST、$_GET的区别和联系小结
Nov 23 PHP
PHP中include与require使用方法区别详解
Oct 19 PHP
php导入csv文件碰到乱码问题的解决方法
Feb 10 PHP
PHP中的多行字符串传递给JavaScript的两种方法
Jun 19 PHP
简单说说PHP优化那些事(经验分享)
Nov 27 PHP
php实现将数组转换为XML的方法
Mar 09 PHP
PHP使用GD库输出汉字的方法【测试可用】
Nov 10 PHP
php7 安装yar 生成docker镜像
May 09 PHP
使用PHPWord生成word文档的方法详解
Jun 06 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
ftp类(example.php)
2006/10/09 PHP
用PHP函数解决SQL injection
2006/10/09 PHP
PHP Token(令牌)设计
2008/03/15 PHP
php获取用户浏览器版本的方法
2015/01/03 PHP
教你在header中隐藏php的版本信息
2016/08/10 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
如何在Web页面上直接打开、编辑、创建Office文档
2007/03/12 Javascript
xml和web特殊字符
2009/04/28 Javascript
javascript事件冒泡详解和捕获、阻止方法
2014/04/12 Javascript
jQuery使用fadeout实现元素渐隐效果的方法
2015/03/27 Javascript
JavaScript  cookie 跨域访问之广告推广
2016/04/20 Javascript
js实现固定宽高滑动轮播图效果
2017/01/13 Javascript
Spring Boot+AngularJS+BootStrap实现进度条示例代码
2017/03/02 Javascript
react.js CMS 删除功能的实现方法
2017/04/17 Javascript
JS实现颜色的10进制转化成rgba格式的方法
2017/09/04 Javascript
微信小程序实现导航栏选项卡效果
2020/06/19 Javascript
vue-cli2 构建速度优化的实现方法
2019/01/08 Javascript
npm qs模块使用详解
2020/02/07 Javascript
前端深入理解Typescript泛型概念
2020/03/09 Javascript
Python中除法使用的注意事项
2014/08/21 Python
Django中的CACHE_BACKEND参数和站点级Cache设置
2015/07/23 Python
Python实现统计文本文件字数的方法
2017/05/05 Python
详解python中TCP协议中的粘包问题
2019/03/22 Python
Win10系统下安装labelme及json文件批量转化方法
2019/07/30 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
2020/02/20 Python
Python如何实现FTP功能
2020/05/28 Python
如何在scrapy中捕获并处理各种异常
2020/09/28 Python
css3动画效果抖动解决方法
2018/09/03 HTML / CSS
如何找出EMP表里面SALARY第N高的employee
2013/12/05 面试题
北京泡泡网网络有限公司.net面试题
2012/07/17 面试题
浪漫婚礼主持词
2014/03/14 职场文书
求职导师推荐信范文
2015/03/27 职场文书
温馨祝福晨语:美丽的一天从我的问候开始
2019/11/28 职场文书
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
zabbix配置nginx监控的实现
2022/05/25 Servers
td 内容自动换行 table表格td设置宽度后文字太多自动换行
2022/12/24 HTML / CSS