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 相关文章推荐
基于mysql的bbs设计(四)
Oct 09 PHP
收藏的一个php小偷的核心程序
Apr 09 PHP
兼容PHP5的PHP目录管理函数库
Jul 10 PHP
php 小乘法表实现代码
Jul 16 PHP
php自定义函数之递归删除文件及目录
Aug 08 PHP
《PHP编程最快明白》第七讲:php图片验证码与缩略图
Nov 01 PHP
php的memcache类分享(memcache队列)
Mar 26 PHP
php实现中文字符截取防乱码方法汇总
Apr 29 PHP
php实现mysql数据库连接操作及用户管理
Nov 08 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
Dec 24 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
May 31 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
Dec 07 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
php实现按指定大小等比缩放生成上传图片缩略图的方法
2014/12/15 PHP
PHP生成树的方法
2015/07/28 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
2017/07/27 PHP
JS 日期验证正则附asp日期格式化函数
2009/09/11 Javascript
基于Jquery的简单&amp;简陋Tabs插件代码
2010/02/09 Javascript
Javascript面向对象扩展库代码分享
2012/03/27 Javascript
Js表格万条数据瞬间加载实现代码
2014/02/20 Javascript
网页运行时提示对象不支持abigimage属性或方法
2014/08/10 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
2015/08/05 Javascript
JavaScript开发Chrome浏览器扩展程序UI的教程
2016/05/16 Javascript
NodeJs通过async/await处理异步的方法
2017/10/09 NodeJs
详解使用webpack构建多页面应用
2017/12/21 Javascript
Vue项目中使用Vux的安装过程
2018/05/01 Javascript
node.js利用socket.io实现多人在线匹配联机五子棋
2018/05/31 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
2018/11/28 Javascript
在vue中使用回调函数,this调用无效的解决
2020/08/11 Javascript
python获取mp3文件信息的方法
2015/06/15 Python
python 矩阵增加一行或一列的实例
2018/04/04 Python
python下载微信公众号相关文章
2019/02/26 Python
python定时检测无响应进程并重启的实例代码
2019/04/22 Python
详解Python 多线程 Timer定时器/延迟执行、Event事件
2019/06/27 Python
Python 如何提高元组的可读性
2019/08/26 Python
廉价连衣裙和婚纱礼服在线销售:Tbdress
2019/02/28 全球购物
中国一家综合的外贸B2C电子商务网站:DealeXtreme(DX)
2020/03/10 全球购物
学前教育专业毕业生自荐信
2013/10/03 职场文书
银行自荐信范文
2013/10/07 职场文书
五一家具促销方案
2014/01/10 职场文书
职业女性的职业规划
2014/03/04 职场文书
成龙洗发水广告词
2014/03/14 职场文书
学校文明单位申报材料
2014/05/06 职场文书
计算机系本科生求职信
2014/05/31 职场文书
踏青活动策划方案
2014/08/19 职场文书
工作失职检讨书(精华篇)
2014/10/15 职场文书
群众路线组织生活会发言材料
2014/10/17 职场文书
党的群众路线教育实践活动总结
2014/10/30 职场文书
小学语文的各类谚语(70首)
2019/08/15 职场文书