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环境搭建最新方法
Sep 05 PHP
由php if 想到的些问题
Mar 22 PHP
劣质的PHP代码简化
Feb 08 PHP
IP138 IP地址查询小偷实现代码
Feb 15 PHP
php实现rc4加密算法代码
Apr 25 PHP
PHP服务器页面间跳转实现方法
Aug 02 PHP
探讨fckeditor在Php中的配置详解
Jun 08 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
Aug 07 PHP
smarty模板引擎中变量及变量修饰器用法实例
Jan 22 PHP
Yii2 rbac权限控制之菜单menu实例教程
Apr 28 PHP
详解php中 === 的使用
Oct 24 PHP
ThinkPHP框架表单验证操作方法
Jul 19 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
一道求$b相对于$a的相对路径的php代码
2010/08/08 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
PHP+MariaDB数据库操作基本技巧备忘总结
2018/05/21 PHP
laravel 如何实现引入自己的函数或类库
2019/10/15 PHP
JavaScript中this关键字使用方法详解
2007/03/08 Javascript
分享Javascript中最常用的55个经典小技巧
2013/11/29 Javascript
jQuery实现的网页左侧在线客服效果代码
2015/10/23 Javascript
AngularJS入门教程之AngularJS指令
2016/04/18 Javascript
Bootstrap基本插件学习笔记之Popover提示框(19)
2016/12/08 Javascript
JS实现汉字与Unicode码相互转换的方法详解
2017/04/28 Javascript
原生JS+Canvas实现五子棋游戏
2020/05/28 Javascript
js正则相关知识点专题
2018/05/10 Javascript
解决vue 界面在苹果手机上滑动点击事件等卡顿问题
2018/11/27 Javascript
javascript创建元素和删除元素实例小结
2019/06/19 Javascript
Angular5整合富文本编辑器TinyMCE的方法(汉化+上传)
2020/05/26 Javascript
Python中的filter()函数的用法
2015/04/27 Python
Python开发如何在ubuntu 15.10 上配置vim
2016/01/25 Python
浅谈python中的变量默认是什么类型
2016/09/11 Python
python 实现上传图片并预览的3种方法(推荐)
2017/07/14 Python
python 画三维图像 曲面图和散点图的示例
2018/12/29 Python
利用anaconda保证64位和32位的python共存
2021/03/09 Python
提升python处理速度原理及方法实例
2019/12/25 Python
python脚本第一行如何写
2020/08/30 Python
Python try except else使用详解
2021/01/12 Python
html5视频常用API接口的实战示例
2020/03/20 HTML / CSS
美国顶级奢侈茶:Mighty Leaf Tea(美泰茶)
2016/11/26 全球购物
澳大利亚自然和有机的健康美容产品一站式商店:Ziani Beauty
2017/12/28 全球购物
LN-CC中国:高端男装和女装的奢侈时尚目的地
2019/09/14 全球购物
Exception类的常用方法
2012/06/16 面试题
《长相思》听课反思
2014/04/10 职场文书
论文诚信承诺书
2014/05/23 职场文书
教师党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
党小组考察意见
2015/06/02 职场文书
文明上网主题班会
2015/08/14 职场文书
准备去美国留学,那么大学申请文书应该怎么写?
2019/08/12 职场文书
Python办公自动化之Excel(中)
2021/05/24 Python