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判断正常访问和外部访问的示例
Feb 10 PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
Jun 09 PHP
php结合js实现点击超链接执行删除确认操作
Oct 31 PHP
php实现根据词频生成tag云的方法
Apr 17 PHP
php生成过去100年下拉列表的方法
Jul 20 PHP
PHP开发制作一个简单的活动日程表Calendar
Jun 20 PHP
php使用正则表达式去掉html中的注释方法
Nov 03 PHP
php执行多个存储过程的方法【基于thinkPHP】
Nov 08 PHP
php中通过eval实现字符串格式的计算公式
Mar 18 PHP
PHP laravel中的多对多关系实例详解
Jun 07 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
Oct 17 PHP
PHP文件操作简单介绍及函数汇总
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
html中select语句读取mysql表中内容
2006/10/09 PHP
PHP一些常用的正则表达式字符的一些转换
2008/07/29 PHP
2014过年倒计时示例
2014/01/31 PHP
解读PHP中上传文件的处理问题
2016/05/29 PHP
PHP魔术方法以及关于独立实例与相连实例的全面讲解
2016/10/18 PHP
JS实现浏览器菜单命令
2006/09/05 Javascript
用javascript连接access数据库的方法
2006/11/17 Javascript
javascript 自定义事件初探
2009/08/21 Javascript
onsubmit阻止form表单提交与onclick的相关操作
2010/09/03 Javascript
Jquery AJAX POST与GET之间的区别详细介绍
2016/10/17 Javascript
node.js中express中间件body-parser的介绍与用法详解
2017/05/23 Javascript
Angular2实现的秒表及改良版示例
2019/05/10 Javascript
小程序scroll-view安卓机隐藏横向滚动条的实现详解
2019/05/16 Javascript
解决vuex刷新状态初始化的方法实现
2019/08/15 Javascript
vue-mugen-scroll组件实现pc端滚动刷新
2019/08/16 Javascript
微信小程序前端promise封装代码实例
2019/08/24 Javascript
js实现聊天对话框
2020/02/08 Javascript
pandas or sql计算前后两行数据间的增值方法
2018/04/20 Python
利用Python查看微信共同好友功能的实现代码
2019/04/24 Python
python实现图片九宫格分割
2021/03/07 Python
wxPython绘图模块wxPyPlot实现数据可视化
2019/11/19 Python
Python序列化pickle模块使用详解
2020/03/05 Python
python中threading开启关闭线程操作
2020/05/02 Python
Python用来做Web开发的优势有哪些
2020/08/05 Python
Bravofly德国:预订廉价航班和酒店
2019/09/22 全球购物
德国W家官网,可直邮中国的母婴商城:Windeln.de
2021/03/03 全球购物
编写函数,将一个3*3矩阵转置
2013/10/09 面试题
大学生毕业求职的自我评价
2013/09/29 职场文书
大学生演讲稿范文
2014/01/11 职场文书
开业庆典答谢词
2014/01/18 职场文书
幼儿园的门卫岗位职责
2014/04/10 职场文书
新闻专业毕业生求职信
2014/08/08 职场文书
纪念九一八爱国演讲稿600字
2014/09/14 职场文书
检讨书1000字
2014/10/11 职场文书
班级管理经验交流材料
2015/11/02 职场文书
MySQL中的全表扫描和索引树扫描
2022/05/15 MySQL