1
LaravelとJQuery UI Sortableを使用してソート可能な写真でギャラリーを作成しています。1つのDBで複数の行(異なるデータ)を更新する方法Laravel
$items = [0 => 22, 1 => 25, 2 => 45];
をしかし、あるギャラリーで約150〜200の写真があるでしょう:コントローラで
My機能は、素敵な配列を取得します。
150-200の代わりに1つのDBクエリを設定する可能性はありますか?私のコントローラは現時点でこれを作成しています:
foreach($photos['item'] as $position => $id){
Photo::where('id', $id)->update(['position' => $position]);
}
しかし、それは約150-200のDBクエリを作成します - ひどいです。
編集#1
[OK]を基本的に私はこのような何か(IDと位置を持つ2つの対応する配列)が必要です。
$ids = [22, 24, 25, 34];
$positions = [0, 1, 2, 3];
Photos::where('id', $ids)->update(['position'] => $positions);
をしかし、私はこのアプローチについては何も見つけることができません。
が「大量更新」されています - https://laravel.com/docs/5.3/eloquent#updates希望しませんか? – splash58
あまりありません。私は異なる条件で多くの行を見つけ、それらに新しいデータを入れる必要があります。 –
例では、ID 22が位置0で更新され、ID 24が位置1などで更新されるとしますか? – Samsquanch