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
木翼下载系统中说明的PHP安全配置方法
Jun 16 PHP
php实现的在线人员函数库
Apr 09 PHP
PHP 数组入门教程小结
May 20 PHP
php性能优化分析工具XDebug 大型网站调试工具
May 22 PHP
php 魔术方法详解
Nov 11 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
Nov 15 PHP
PHP中include和require的区别实例分析
May 07 PHP
Yii框架实现图片上传的方法详解
May 20 PHP
PHP asXML()函数讲解
Feb 03 PHP
漂亮的thinkphp 跳转页封装示例
Oct 16 PHP
PHP命名空间(namespace)原理与用法详解
Dec 11 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
星际争霸 Starcraft 编年史
2020/03/14 星际争霸
PHP zip扩展Linux下安装过程分享
2014/05/05 PHP
PHP中if和or运行效率对比
2014/12/12 PHP
5个最佳的Javascript日期处理类库分享
2012/04/15 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
input链接页面、打开新网页等等的具体实现
2013/12/30 Javascript
原生js实现日期联动
2015/01/12 Javascript
jQuery获得document和window对象宽度和高度的方法
2015/03/25 Javascript
jQuery实现向下滑出的二级菜单效果实例
2015/08/22 Javascript
使用ajaxfileupload.js实现上传文件功能
2016/08/13 Javascript
常用的几个JQuery代码片段
2017/03/13 Javascript
详解plotly.js 绘图库入门使用教程
2018/02/23 Javascript
JS+H5 Canvas实现时钟效果
2018/07/20 Javascript
vue使用svg文件补充-svg放大缩小操作(使用d3.js)
2020/09/22 Javascript
Python中selenium实现文件上传所有方法整理总结
2017/04/01 Python
python 常用的基础函数
2018/07/10 Python
python+numpy+matplotalib实现梯度下降法
2018/08/31 Python
python实现简单加密解密机制
2019/03/19 Python
修复iPhone的safari浏览器上submit按钮圆角bug
2012/12/24 HTML / CSS
HTML5画渐变背景图片并自动下载实现步骤
2013/11/18 HTML / CSS
英国领先的酒类网上商城:TheDrinkShop
2017/03/16 全球购物
享誉全球的多元化时尚精品购物平台:Farfetch发发奇(支持中文)
2017/08/08 全球购物
优质有机椰子产品:Dr. Goerg
2019/09/24 全球购物
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
法学专业个人求职信
2013/09/26 职场文书
夜大毕业生自我鉴定
2013/10/31 职场文书
旅游与酒店管理的自我评价分享
2013/11/03 职场文书
咖啡蛋糕店创业计划书
2014/01/28 职场文书
网管求职信
2014/03/03 职场文书
企业承诺书怎么写
2014/05/24 职场文书
服装设计师求职信
2014/06/04 职场文书
运动会方队口号
2014/06/07 职场文书
工商局领导班子存在的问题整改措施思想汇报
2014/10/05 职场文书
医生行业员工的辞职信
2019/06/24 职场文书
导游词之桂林山水
2019/09/20 职场文书
Python的这些库,你知道多少?
2021/06/09 Python