thinkphp5 数据库字段比较不生效

今天使用 thinkphp5 写一段Sql查询数据库一个字段大于另外一个字段时发现Sql是正确的,但是实际查询结果不对

比如查询用户表xiadmin里面 积分score 大于 余额balance 的用户

 XiadminModel::where('score', '>', 'balance')->select();

咋一看,没毛病。但是数据库存在数据也查询不出来

string(78) "SELECT * FROM `xiadmin` WHERE  `score` > balance"

查看实际运行Sql ,也没毛病。。将sql放到数据库直接执行,数据可以正常查询,难道Tp出bug?不应该。翻看文档,发现是必须使用 raw 方法

修改查询方法

 XiadminModel::where('score', 'exp', Db::raw('> balance'))->select();

查看Sql

SELECT * FROM `xiadmin` WHERE  ( `score` > balance)

sql与实际运行结果正常

给TA支持
共{{data.count}}人
人已支持
php工作日志随笔

PHPexcel导出超时

2020-12-19 15:33:28

工作日志前端

百度编辑器Ueditor添加上传本地音频MP3功能

2020-12-30 10:58:43

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索