每當我像這樣運行爲什麼保存只能用於創建和不更新?
$foo = Foo::find(1);
echo $foo->bar; // echoes 400
$foo->bar = 300;
echo $foo->bar; // echoes 300
$foo->save();
echo $foo->bar; // echoes 300
$foo = Foo::find(1);
echo $foo->bar; // echoes 400 - it didn't save! no changes to the table
什麼也沒有發生代碼。但這個作品:
$foo = new Foo;
$foo->bar = 200;
echo $foo->bar; // echoes 200;
$foo->save(); // a new entry is added to my table
我無法更新(更改模型,但它不保存),但添加新條目的作品。爲什麼?
(美孚延伸Model類,杆爲一列)
你確定你的對象有一個ID密鑰?否則,Laravel不知道哪一行更新。 –
您使用的是什麼版本的Laravel?你使用的是哪個數據庫?你還可以發佈你的模型的內容? –
我能想到'save()'wont * save *的唯一場景就是如果你正在保護'bar'不受大衆分配的影響! – teeyo