Heim > PHP-Framework > Laravel > Hauptteil

So lösen Sie das Problem, dass Laravel Daten so ändert, dass sie mit den Originaldaten übereinstimmen, was zu keiner SQL-Ausführung führt

藏色散人
Freigeben: 2020-11-17 15:01:42
nach vorne
2011 Leute haben es durchsucht

Führen Sie in die Datenänderung als Originaldaten ein, was zu einer Lösung für die SQL führt, ohne die Daten auszuführen. Ich hoffe, dass es den Freunden, die es benötigen, hilfreich sein wird!

Code

$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();
Nach dem Login kopieren
So lösen Sie das Problem, dass Laravel Daten so ändert, dass sie mit den Originaldaten übereinstimmen, was zu keiner SQL-Ausführung führtFrage: Wie viele openid = 123 gibt es?
Antwort: Keine.

Grund

Der Code ist extrem einfachopenid = 123 有几个?
答案: 一个都没有。

原因

So lösen Sie das Problem, dass Laravel Daten so ändert, dass sie mit den Originaldaten übereinstimmen, was zu keiner SQL-Ausführung führt

getDirty 会返回 $useroriginal(查询出来的 不允许改变) 和 attributes(手动赋值的)  不同的地方,

最后发现属性都一样,所以 $user->save() 不会执行修改。

扯淡

微信绑定 的时候发现不对劲,还以为是 laravel 或者 mysqlbug getDirty gibt das Original von $user (der abgefragte darf nicht geändert werden) und Attribute zurück (manuell zugewiesener Wert) sind unterschiedlich Wobei

schließlich festgestellt wurde, dass die Attribute gleich sind, sodass $user->save() keine Änderungen durchführt. 🎜🎜🎜🎜Bullshit🎜🎜Als ich WeChat-Bindung schrieb, dachte ich, es sei ein Bugvon laravel oder mysql code> 🎜                                                                                   

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem, dass Laravel Daten so ändert, dass sie mit den Originaldaten übereinstimmen, was zu keiner SQL-Ausführung führt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:learnku.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage