今天進行系統測試的時候忽然發現原來寫好的效果不正常了,仔細排查了全部代碼發現以下:ide
StorePink::where('id',1)->whereColumn('pinkAccount','<','people')->inc('pinkAccount')->update()測試
這段代碼是做用是查找StorePink表中的列pinkAccount是否小於people,可是這段代碼打印出來的語句是:code
SELECT * FROM
StorePink
WHERE id='1' AND `pinkAccount < people LIMIT 1
ThinkPHP解析出來的時候把原來的字段people解析成了字符串了,因此該語句報錯。字符串
你們注意看下兩段代碼where條件分別是:it
where('pinkAccount','>','people') //這裏字段與字段之間用 > 隔開,表示>後面的是字段值而非字段class
where('pinkAccount',' > people') //這裏把 > 與後面的字段寫在了一塊兒,即字段與字段之間的比較date
StorePink::where('id',$order['pink_id'])->whereColumn('pinkAccount','<','people')->inc('pinkAccount')->update()方法
生成的SQL語句以下:di
SELECT * FROM StorePink
WHERE ( pinkAccount
> people
)view