passshift
@passshift
php, js, html5, css

Как сделать множественный UPDATE с использованием Query Builder?

Здравствуйте!

Кто-нибудь знает как сделать множественный UPDATE?

Сейчас временно делаю так:

foreach ($users as $u) {
            $update = DB::update('users_table');
            $update->set(array('rank' => DB::expr('rank + ' . $u['rank'])))
                    ->where('id', '=', $u['id']);
            $update->execute();
        }


- но это жесть полная...

Можно как-нибудь за один запрос обновить RANK отдельных пользователей? Тут загвоздка в том, что в $users под каждый ID юзера отдельный RANK ...

Помогите пожалуйста
  • Вопрос задан
  • 215 просмотров
Пригласить эксперта
Ответы на вопрос 1
AmdY
@AmdY
PHP и прочие вебштучки
Если изменения на одинаковое число, то просто стоит использовать whereIn, если на разное, то стоит так и оставить. В sql такое делается через конструкции вроде
SET field = CASE WHEN id = 1 THEN 3 WHEN id = 2 THEN 10

В цикле запрос нагляднее.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы