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 相关文章推荐
使用zend studio for eclipse不能激活代码提示功能的解决办法
Oct 11 PHP
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
Jun 16 PHP
php 解决旧系统 查出所有数据分页的类
Aug 27 PHP
用php制作简单分页(从数据库读取记录)的方法详解
May 04 PHP
基于php实现长连接的方法与注意事项的问题
May 10 PHP
PHP实现服务器状态监控的方法
Dec 09 PHP
discuz目录文件资料汇总
Dec 30 PHP
简单的自定义php模板引擎
Aug 26 PHP
PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
Jun 20 PHP
PHP 获取客户端 IP 地址的方法实例代码
Nov 11 PHP
php创建多级目录与级联删除文件的方法示例
Sep 12 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
Oct 08 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
cache_lite试用
2007/02/14 PHP
PHP 模拟登陆MSN并获得用户信息
2009/05/16 PHP
第六章 php目录与文件操作
2011/12/30 PHP
PHP基于数组实现的分页函数实例
2014/08/20 PHP
php输出含有“#”字符串的方法
2017/01/18 PHP
php实现的XML操作(读取)封装类完整实例
2017/02/23 PHP
JS解析XML的实现代码
2009/11/12 Javascript
JavaScript判断一个URL链接是否有效的实现方法
2011/10/08 Javascript
js实现翻页后保持checkbox选中状态的实现方法
2012/11/03 Javascript
jquery offset函数应用实例
2012/11/14 Javascript
js实现新年倒计时效果
2015/12/10 Javascript
Javascript 6里的4个新语法
2016/08/25 Javascript
BootStrap 弹出层代码
2017/02/09 Javascript
jquery 禁止鼠标右键并监听右键事件
2017/04/27 jQuery
jQuery zTree插件使用简单教程
2019/08/16 jQuery
js实现动态时钟
2020/03/12 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
2020/09/02 Javascript
Python中类型关系和继承关系实例详解
2015/05/25 Python
python 检查文件mime类型的方法
2018/12/08 Python
详解python中递归函数
2019/04/16 Python
Python3.5装饰器典型案例分析
2019/04/30 Python
Python 余弦相似度与皮尔逊相关系数 计算实例
2019/12/23 Python
python图形开发GUI库wxpython使用方法详解
2020/02/14 Python
详解FireFox下Canvas使用图像合成绘制SVG的Bug
2019/07/10 HTML / CSS
size?爱尔兰官方网站:英国伦敦的球鞋精品店
2019/03/31 全球购物
Ticketmaster意大利:音乐会、节日、艺术和剧院的官方门票
2019/12/23 全球购物
莫斯科购买书籍网站:Book24
2020/01/12 全球购物
机械专业毕业生推荐信范文
2013/11/25 职场文书
列车长先进事迹材料
2014/01/25 职场文书
职工代表大会主持词
2014/04/01 职场文书
室内设计专业毕业生求职信
2014/05/02 职场文书
企业形象策划方案
2014/05/29 职场文书
意外伤害赔偿协议书范本
2014/09/28 职场文书
学校运动会广播稿范文
2014/10/02 职场文书
大学辅导员述职报告
2015/01/10 职场文书
2016应届毕业生实习评语
2015/12/01 职场文书