搜索
系统检测到您的用户名不符合规范:

调用模型save()时,为何where条件丢失了

浏览:637 发布日期:2019年06月19日 分类:求助交流
官方例子如下:$user = User::where('status',1)
->where('name','liuchen')
->find();
$user->name = 'thinkphp';
$user->email = 'thinkphp@qq.com';
$user->save();
我的代码是: $set = User::where( 'name', '=', 'aa' )
->where( 'Date', '=', '20190202' )
->where( 'GroupId', '=', 'A1' )
->find();
$set ->Count = ['inc', 1];
$set ->save();
运行后发现它把所有Date='20190202'(这个字段是组合主健之一)的记录全更新了.查日志发现如下:[ sql ] [ SQL ] SELECT T1.* FROM (SELECT thinkphp.*, ROW_NUMBER() OVER ( ORDER BY rand()) AS ROW_NUMBER FROM (SELECT * FROM [a_user] WHERE [name] = 'aa' AND [Date] = '20190619' AND [GroupId] = 'A1') AS thinkphp) AS T1 WHERE (T1.ROW_NUMBER BETWEEN 1 AND 1) [ RunTime:0.001000s ]
[ sql ] [ SQL ] UPDATE [a_user] SET [Count]=[Count]+1 FROM [a_user] WHERE [Date] = 20190619 [ RunTime:0.002000s ]
可以看到update语句里where条件不全了,少了两个条件.大神帮我看下这是为什么啊?
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
水淼
积分:140 等级:LV1
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /