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 相关文章推荐
拼音码表的生成
Oct 09 PHP
PHP 裁剪图片成固定大小代码方法
Sep 09 PHP
有道搜索和IP138的IP的API接口(PHP应用)
Nov 29 PHP
PHP ignore_user_abort函数详细介绍和使用实例
Jul 15 PHP
php函数与传递参数实例分析
Nov 15 PHP
递归实现php数组转xml的代码分享
May 14 PHP
详解PHP匿名函数与注意事项
Mar 29 PHP
php对接java现实加签验签的实例
Nov 25 PHP
PHP与SQL语句常用大全
Dec 10 PHP
php UNIX时间戳用法详解
Feb 16 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
Apr 03 PHP
PHP http请求超时问题解决方案
Nov 13 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系统的广告设置代码 基础版本
2010/04/09 PHP
PHP排序算法的复习和总结
2012/02/15 PHP
解析Linux下Varnish缓存的配置优化
2013/06/20 PHP
php中ftp_chdir与ftp_cdup函数用法
2014/11/18 PHP
PHP中字符安全过滤函数使用小结
2015/02/25 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
2015/12/22 PHP
zend framework重定向方法小结
2016/05/28 PHP
利用ajax和PHP实现简单的流程管理
2017/03/23 PHP
PHP类的自动加载机制实现方法分析
2019/01/10 PHP
总结JavaScript中布尔操作符||与&amp;&amp;的使用技巧
2015/11/17 Javascript
Angular 路由route实例代码
2016/07/12 Javascript
JavaScript DOM 对象深入了解
2016/07/20 Javascript
浅谈js内置对象Math的属性和方法(推荐)
2016/09/19 Javascript
nodejs批量下载图片的实现方法
2017/05/19 NodeJs
Angular6 写一个简单的Select组件示例
2018/08/20 Javascript
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
python数据分析数据标准化及离散化详解
2018/02/26 Python
python socket网络编程之粘包问题详解
2018/04/28 Python
PyQt5的安装配置过程,将ui文件转为py文件后显示窗口的实例
2019/06/19 Python
python 实现Flask中返回图片流给前端展示
2020/01/09 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
IE9下html5初试小刀
2010/09/21 HTML / CSS
Radley英国官网:英国莱德利小狗包
2019/03/21 全球购物
电台编导求职信
2014/05/06 职场文书
竞赛口号大全
2014/06/16 职场文书
社团活动总结报告
2014/06/27 职场文书
2014办公室副主任四风对照检查材料思想汇报
2014/09/20 职场文书
党员承诺书范文2015
2015/04/27 职场文书
公司捐书倡议书
2015/04/27 职场文书
学校捐书活动总结
2015/05/08 职场文书
生活小常识广播稿
2015/08/19 职场文书
青年干部培训班学习心得体会
2016/01/06 职场文书
教你怎么用Python处理excel实现自动化办公
2021/04/30 Python
Python 中的Sympy详细使用
2021/08/07 Python
什么是SOLID
2022/03/24 Javascript
Windows server 2022创建创建林、域树、子域的步骤
2022/06/25 Servers