User-Profile-Image
hankin
  • 5
  • 首页
  • 仓库
  • 留言
  • 免费下载v1.3.5
  • 分类
    • Yii2
    • wordpress
    • typeecho
    • server
    • qrcode
    • postgresql
    • php
    • jquery
    • javascript
    • html5
    • go
    • css3
    • coding
  • 页面
    • icon图标
    • 专题
    • 建站维护
    • 留言
    • 站点地图
  • 友链
    • 老赵茶馆
    • 淮城一只猫
    • 雨林寒舍
    • 饼子的博客
    • 轩枫阁
    • 广告联盟大事记
    • 主题笔记
    • 八方博客
    • 张维龙的个人博客
    • 瑞课学院
    • BBJ不败君
    • 悠悠吧
    • Heanny Blog
    • 资源谷
    • Yolen
Help?

Please contact us on our email for need any support

Support
    首页   ›   正文
php

Yii 2.0.14 支持的新特性介绍

2018-06-13 10:48:59
2108  5 3

Yii 2.0.14 支持的新特性介绍

  1. yii 框架从 2.0.14 版本开始,在 ActiveRecord 属性赋值时,支持子查询。
    让我们来看一个例子来演示一下这个新的特性

以 CRM 中客户主表中的 visit_total_number 为例。该字段记录客户的跟进次数

在 2.0.14 版本以前,我们不得不这样做

/* 1. 查询 */
$number = ClientVisitModel::find()
    ->select(['visit_id'])
    ->where(['client_id' => $clientId])
    ->count();

/* 2. 查询 */
$clientModel = ClientMainModel::findOne($clientId);
$clientModel->visit_total_number = $number;

/* 3. 更新 */
$clientModel->save(FASLE);

或者

/* 1. 查询 */
$number = ClientVisitModel::find()
    ->select(['visit_id'])
    ->where(['client_id' => $clientId])
    ->count();

/* 2. 更新 */
ClientMainModel::updateAll(
    ['visit_total_number' => $number],
    ['client_id' => $clientId]
);

现在,我们可以这样做

$expression = new \yii\db\Expression('COUNT(visit_id)');

$subquery = ClientVisitModel::find()
    ->select([$expression])
    ->where(['client_id' => $clientId]);

/* 1. 查询 */
$clientModel = ClientMainModel::findOne($clientId);
$clientModel->visit_total_number = $subquery;

/* 2. 更新 */
$clientModel->save(FASLE);

或者

$expression = new \yii\db\Expression('COUNT(visit_id)');

$subquery = ClientVisitModel::find()
    ->select([$expression])
    ->where(['client_id' => $clientId]);

/* 一次搞定! */
ClientMainModel::updateAll(
    ['visit_total_number' => $subquery],
    ['client_id' => $clientId]
);

如本文“对您有用”,欢迎随意打赏作者,让我们坚持创作!

3 打赏
评论 (6)

点击这里取消回复。

欢迎您 游客  

  • 8899

    1周前
    回复
  • 哈哈哈

    1周前
    回复
  • 远行

    555

    3个月前
    回复
  • 红尘

    666666

    9个月前
    回复
  • 唤( . )醒

    哈哈

    1年前
    回复
  • 莉香隐溢海棠

    666

    1年前
    回复
hankin
smarty_hankin主题 持续为开发者免费开源!
143文章 278评论 671点赞 164489浏览

关注公众号 回复【下载主题】
加QQ群1018841266
最新评论
+195
随机文章
统计php代码行数
2年前
hankin关键字 排名上来了!~
3年前
5款强大的密码显示/隐藏效果推荐(附源码下载)
9个月前
一款免费开源wordpress主题 smarty_hankin
1年前
php单一入口和多入口模式详细讲解
3年前
我的作品




tags
css3 html5 javascript php postgresql qrcode typeecho wordpress wordpress主题 Yii2
Copyright © 2021 网站备案号: 浙ICP备20002401号
smarty_hankin 主题. Designed by hankin
主页
页面
  • icon图标
  • 专题
  • 建站维护
  • 留言
  • 站点地图
博主
hankin
hankin 管理员
博客模板_网站模板_HTML模板_博客模板网站免费下载
143 文章 278 评论 164489 浏览
测试
测试
赞赏作者

请通过微信、支付宝 APP 扫一扫

感谢您对作者的支持!

 支付宝 微信支付