如何在一个DB Query Laravel

时间:2017-05-02 18:26:25

标签: php laravel eloquent jquery-ui-sortable

我正在使用Laravel和jQuery UI Sortable制作带有可排序照片的图库。

我在控制器中的函数得到一个很好的数组:

$items = [0 => 22, 1 => 25, 2 => 45];

但是在一个画廊中会有大约150到200张照片。有没有机会设置一个DB查询而不是150 - 200?因为我的控制器目前正在做这件事......

<?php

foreach($photos['item'] as $position => $id){
    Photo::where('id', $id)->update(['position' => $position]);
}

但它创建了大约150 - 200个数据库查询,这很糟糕。

编辑#1

基本上我需要这样的东西(带有id和位置的两个相应数组):

$ids =       [22, 24, 25, 34];
$positions = [0, 1, 2, 3];

Photos::where('id', $ids)->update(['position'] => $positions);

但我找不到任何关于这种方法的内容。

1 个答案:

答案 0 :(得分:0)

看看这里:Eloquent model mass update

基本上,您正在寻找批量或批量更新。