where節だけで行を更新したい。 私は行IDを持っていない、私は2 where句があります。 可能ですか? (説得力のある)条件に対応するすべての行、laravel 5.1:where句で1行だけを更新する方法はありますか?
->where("x",1) ->where("y"=2)
where節だけで行を更新したい。 私は行IDを持っていない、私は2 where句があります。 可能ですか? (説得力のある)条件に対応するすべての行、laravel 5.1:where句で1行だけを更新する方法はありますか?
->where("x",1) ->where("y"=2)
アクティブレコードを使用する場合は、データベースで直接更新を実行しないでください。まず、それを更新し、データベースからレコードを引っ張っ:
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']);