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 相关文章推荐
thinkphp模板赋值与替换实例简述
Nov 24 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
Apr 07 PHP
thinkPHP实现MemCache分布式缓存功能
Mar 23 PHP
浅谈PHP中的
Apr 23 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
May 18 PHP
PHP开发制作一个简单的活动日程表Calendar
Jun 20 PHP
PHP文件上传处理案例分析
Oct 15 PHP
php简单处理XML数据的方法示例
May 19 PHP
基于php编程规范(详解)
Aug 17 PHP
PHP fopen函数用法实例讲解
Feb 15 PHP
php实现QQ小程序发送模板消息功能
Sep 18 PHP
PHP论坛实现积分系统的思路代码详解
Jun 01 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
Dedecms常用函数解析
2008/02/01 PHP
PHP教程 变量定义
2009/10/23 PHP
深入PHP中的HashTable结构详解
2013/06/13 PHP
Laravel 5框架学习之向视图传送数据(进阶篇)
2015/04/08 PHP
PHP获取HTTP body内容的方法
2018/12/31 PHP
javascript 获取页面的高度及滚动条的位置的代码
2010/05/06 Javascript
iframe子页面与父页面在同域或不同域下的js通信
2014/05/07 Javascript
javascript设计模式之单体模式学习笔记
2017/02/15 Javascript
微信小程序 setData使用方法及常用错误解决办法
2017/05/11 Javascript
AngularJS 异步解决实现方法
2017/06/12 Javascript
Express + Session 实现登录验证功能
2017/09/08 Javascript
使用mock.js随机数据和使用express输出json接口的实现方法
2018/01/07 Javascript
JS限制输入框输入的实现代码
2018/07/02 Javascript
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
2018/11/01 NodeJs
el-select 下拉框多选实现全选的实现
2019/08/02 Javascript
vue cli 3.0通用打包配置代码,不分一二级目录
2020/09/02 Javascript
vue中封装axios并实现api接口的统一管理
2020/12/25 Vue.js
[48:02]Ti4循环赛第三日 VG vs Liquid和NEWBEE vs DK
2014/07/12 DOTA
从零学python系列之教你如何根据图片生成字符画
2014/05/23 Python
python的tkinter布局之简单的聊天窗口实现方法
2014/09/03 Python
Python程序中的观察者模式结构编写示例
2016/05/27 Python
Python实现类似比特币的加密货币区块链的创建与交易实例
2018/03/20 Python
Python实现发送与接收邮件的方法详解
2018/03/28 Python
Python之NumPy(axis=0 与axis=1)区分详解
2019/05/27 Python
python KNN算法实现鸢尾花数据集分类
2019/10/24 Python
pycharm实现print输出保存到txt文件
2020/06/01 Python
python的launcher用法知识点总结
2020/08/07 Python
通过案例解析python鸭子类型相关原理
2020/10/10 Python
pycharm实现猜数游戏
2020/12/07 Python
香港演唱会订票网站:StubHub香港
2019/10/10 全球购物
文员个人求职自荐信
2013/09/21 职场文书
青年文明号服务承诺
2014/03/31 职场文书
市场开发与营销专业求职信范文
2014/05/01 职场文书
体育教师个人总结
2015/02/09 职场文书
学校学习型党组织建设心得体会
2019/06/21 职场文书
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS