我想用where子句更新一行。 我沒有行ID,只有我有2 where子句。 這可能嗎? (與口才)laravel 5.1:我怎樣才能用where子句更新一行?
->where("x",1) ->where("y"=2)
我想用where子句更新一行。 我沒有行ID,只有我有2 where子句。 這可能嗎? (與口才)laravel 5.1:我怎樣才能用where子句更新一行?
->where("x",1) ->where("y"=2)
當使用Active Record時,不應該直接在數據庫中執行更新。首先拉從數據庫中的記錄,然後更新它:
Model::where(['x' => 1, 'y' => 2])->first()->update([...]);
如果改爲直接做更新的數據庫,沒有任何的ORM的功能會觸發(如點火事件或感人的父母)。
更新所有的行,其對應的條件:
Model::where("x",1)->where("y",2)->update(array('key' => 'new_value', ...));
第一行,其對應的條件:
Model::where("x",1)->where("y",2)->first()->update(array('key' => 'new_value', ...));
當然,只是讀取該行,然後更新像往常一樣。
SomeModel::where('somecondition', 'somevalue')
->where('someothercondition', 'someothervalue')
->first()
->update(['somecolumn' => 'somenewvalue']);