Задать вопрос
muhammad_97
@muhammad_97
PHP-разработчик

Уменьшить количество за один запрос?

Есть массив идентификаторов и массив чисел. Нужно каждой записи с id из первого массива уменьшить значение поля count в таблице на значение из второго. Т.е.:

$ids = [1, 2, 3];
$values = [5, 7, 10];

Значение count записи с id 1 уменьшается на 5 и т.д. Подскажие, пожалуйста, как можно это реализовать в один запрос в Eloquent, если вообще возможно
  • Вопрос задан
  • 406 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • Shultais Education
    Продвинутый SQL
    1 месяц
    Далее
  • Merion Academy
    Основы реляционных баз данных SQL
    1 месяц
    Далее
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Можно сделать на чистом mysql.
(см. последний абзац)
("Обновление записи с выборкой по условию одним запросом")
Ответ написан
AmdY
@AmdY
PHP и прочие вебштучки
Этот вопрос уже обсуждался, т.к. у вас дельны разные, то возможен только вариант с CASE в mysql, что лучше не делать, получится бред вроде
Foo::whereIn($array1)->update('counter', Db::raw('counter - (CASE WHEN 1 THEN 5.......)'));
Не экономьте на спичках.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы