今天调试YII项目的时候,遇到一个奇葩的事儿,在调试 where or 查询的时候:调试语句是这样:

$str = static::find()->where(['or','username' => $username,'mobile' => $account]);
echo "<br>";
echo $str->createCommand()->getRawSql();

很明显,我要到这个数据库里面找到 username等于$username,或者是mobile等于$account的数据。但是这样得到的SQL是:

SELECT * FROM `user` WHERE (dd_18314416390) OR (18314416390)

很明显是不对的,即使是放到MYSQL上执行,也是错的。

究其原因:yii where or 写错啦!

应该这样:

$str = static::find()->where(['or',['username'=>$username],['mobile' => $account]]);
echo "<br>";
echo $str->createCommand()->getRawSql();

这样生成的SQL是这样的:

SELECT * FROM `user` WHERE (`username`='dd_18314416390') OR (`mobile`='18314416390')

这样就对啦!

转载于:https://www.cnblogs.com/e0yu/p/10038976.html

yii---where or该如何使用相关推荐

  1. php yii orm,Yii中的sql查询的位置(或任何支持ORM的框架)?

    对于使用MVC体系结构的项目,这是更多的编码风格问题. 我正在使用Yii框架开展一个项目. 每个数据库表都有它自己的模型类,可以让我充分利用Yii的活动记录. 凉. 但是现在我需要用一个复杂的逻辑和大 ...

  2. PHP开发框架之YII框架学习——碾压ThinkPHP不是梦

      前  言 JRedu 程序猿是一种慵懒的生物!能少敲一行代码,绝对不会多敲一个字符!所以,越来越多的开发框架应运而生,在帮助我们完成功能的同时,极大程度上也帮我们节省了人力物力,而且也提高了系统的 ...

  3. php in yii framework

    为什么80%的码农都做不了架构师?>>>    command line php yiic defined('STDIN') or define('STDIN', fopen('ph ...

  4. Yii在window下的安装方法

    首先,在http://www.yiichina.com/上下载yii 然后,配置系统环境变量,在win8下,按win+x,找到系统->高级系统设置->环境变量->path 把php的 ...

  5. 通过yiic来创建yii应用

    一.通过yiic来创建yii应用(*yiic命令在yii下载包的framework目录下)1.把你自已的php环境添加到系统环境变量中. 2.在命令行下输入: yiic webapp 位置\名称 yi ...

  6. Yii学习笔记【2】

    视图渲染流程: render($view, $data, $return)| beforeRender()| 渲染View文件,调用renderPartial(),要求处理输出结果||----> ...

  7. yii cgridview 默认的筛选如何做成选择框

    效果图 参照 http://www.yiiframework.com/doc/api/1.1/CGridColumn http://www.yiiframework.com/doc/api/1.1/C ...

  8. php框架里有模版引擎吗,Yii框架用模版引擎了吗?_PHP开发框架教程

    Yii框架用模版引擎了吗? Yii框架没有用模版引擎,Yii照样采纳原始PHP作为模板语法,该框架是一个基于组件的高性能PHP框架,用于开发大型Web运用,而且采纳严厉的OOP编写,并供了Web运用开 ...

  9. yii mysql数据库操作_Yii2数据库操作常用方法小结

    本文实例讲述了Yii2数据库操作常用方法.分享给大家供大家参考,具体如下: 查询: // find the customers whose primary key value is 10 $custo ...

  10. yii mysql 事务处理_Yii2中事务的使用实例代码详解

    前言 一般我们做业务逻辑,都不会仅仅关联一个数据表,所以,会面临事务问题. 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全 ...

最新文章

  1. java filewriter_Java基础篇:什么是FileWriter
  2. pythonpandas用sql查询数据表_pandas从数据库读取数据
  3. Activiti 6.x【11】IntermediateEvent
  4. servlet之servletResponse
  5. lisp 读取dwg 统计信息_预制梁厂 BIM 技术和自动化、信息化应用方案
  6. python深度复制_Python直接赋值、浅拷贝和深度拷贝解析
  7. MySQL 读写分离 部分_一个完整的mysql读写分离环境包括以下几个部分
  8. Linux运维基础入门(二):网络基础知识梳理02
  9. WebStorm破解---最新 2019.4.24
  10. 物联lot是什么意思_互联网lot是什么意思
  11. 'font:12px/1.5 Tahoma' 其中12px/1.5表示什么
  12. 【技巧】如何搜索公众号内文章
  13. ICMAX解析无线路由器WAN口应该怎么设置
  14. 实现舞会上男女舞伴的自动匹配。
  15. ios面试题 看了就知道哪方面需要加强上机练习
  16. 最近的题目总结(树,电话线铺设,我的天)
  17. mysql sql stuff函数_数据库SQLServer Stuff函数用法
  18. ubuntu下安装telnet服务
  19. 元旦节前后,Python兼职接单的小高潮来了
  20. Centos7 安装Nginx+vsftp

热门文章

  1. java ibm 2035,C# java 连接 IBM MQ时出现 2035 或 2013认证错误的解决方法
  2. STM32 定时器中断
  3. js修改mysql数据库数据_Node.js操作mysql数据库增删改查
  4. mybatis插入图片处理--mysql
  5. python爬虫框架--scrapy 基本使用
  6. 线框图用什么软件_为什么要在线框中着色?
  7. 全新的 Vue3 状态管理工具:Pinia
  8. 3个多月,近3000人参与的源码共读,诚邀加入~
  9. Windows 10系统安装JDK1.8与配置环境
  10. MySQL——通过EXPLAIN分析SQL的执行计划