下面由laravel教程欄目給大家介紹Laravel教程修改數據與原數據一樣,導致沒有執行sql的解決辦法,希望對需要的朋友有所幫助!
代碼
$openid?=?"123";?//?微信openid User::WhereIn("id",['1','2','3'])->update([ ??'openid'?=>?$openid ]); $user?=?User::find(1); //?取消所有這個openid的綁定者 User::Where(['openid'?=>?$openid])->update([ ??'openid'?=>?null ]); //?給1號用戶綁定openid $user->openid?=?$openid; $user->save();
問題: ?openid = 123 有幾個?
答案: 一個都沒有。
原因
getDirty 會返回 $user 的 original(查詢出來的 不允許改變) 和 attributes(手動賦值的) ?不同的地方,
最后發現屬性都一樣,所以 $user->save() 不會執行修改。
扯淡
寫 微信綁定 的時候發現不對勁,還以為是 laravel 或者 mysql的 bug ?? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END