首頁 > php框架 > Laravel > 如何解決Laravel修改資料與原始資料一樣,導致沒有執行sql的問題

如何解決Laravel修改資料與原始資料一樣,導致沒有執行sql的問題

藏色散人
發布: 2020-11-17 15:01:42
轉載
2040 人瀏覽過

下面由Laravel教學欄位介紹給大家#Laravel修改資料與原始資料一樣,導致沒有執行sql的解決辦法,希望對需要的朋友有幫助!

如何解決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 有幾個?
答案: 一個都沒有。

原因

如何解決Laravel修改資料與原始資料一樣,導致沒有執行sql的問題

getDirty 會回傳$useroriginal (查詢出來的不允許改變) 和attributes(手動賦值的)  不同的地方,

最後發現屬性都一樣,所以$user->save () 不會執行修改。

扯淡

寫入微信綁定 的時候發現不對勁,還以為是laravelmysqlbug                                       之後  

以上是如何解決Laravel修改資料與原始資料一樣,導致沒有執行sql的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:learnku.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板