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