Как обновить несколько строк, используя одно значение в laravel?

Я новичок в laravel, я хотел бы обновить несколько строк, используя одно поле ввода.

Мои записи в базе данных:

Как обновить несколько строк, используя одно значение в laravel?

Например, мое поле ввода имеет значение 500. Когда я отправлю это поле, оно затем обновит несколько выбранных идентификаторов из базы данных от самого старого до самого последнего.

Если первая строка имеет количество 100, это будет 500 - 100, а затем она перейдет ко второй строке, в которой значение поля ввода теперь равно 400, и снова получит разницу второй строки 400 - 200 до тех пор, пока поле ввода становится 0.

Это возможно? Спасибо.

Опубликуйте свой код, который вы пробовали, перед этим сначала прочитайте это: stackoverflow.com/help/как спросить

Sethu 21.06.2019 08:43

Мое решение будет таким: загрузить все необходимые записи, а затем выполнить расчет и выполнить обновление для всех из них. Следите за крупным обновлением здесь: stackoverflow.com/questions/22430716/eloquent-model-mass-upd‌​​​

Felix 21.06.2019 09:03

Хорошо, я понимаю, что вы хотите продолжать обновлять каждую строку, пока не «исчерпаете» свой ввод, но как вы собираетесь обновлять строки? Будете ли вы устанавливать запрошенное количество на 0?

apokryfos 21.06.2019 10:19
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
240
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Запустите foreach и передайте в него поле ввода. Простой

Вы можете следовать приведенному ниже коду для понимания.

public function updateRecord(Request $req)
    {
        //get data from oldest(ASC) to latest (desc).
        $var = $req->input_field;
        $data = ModelName::orderBy('id','asc')->get();

        foreach ($data as $key)
        {
            // ($var < 0) in case negative value
            if ($var == 0 || $var < 0)
            {
                break;
            }       
            //find row with id
            $singleRow = ModelName::find($key->id);
            //holding data base quantity
            $dummyHolder = $single->quantity_requested;
            $single->quantity_requested = $dummyHolder + $var;
            $singleRow->save();

            //update variable
            $var = $var - $dummyHolder;
        }
    }

Спасибо, сэр! Попробую этот.

Theonly 21.06.2019 11:28

Привет, сэр, я задаю еще один вопрос, связанный с этим вопросом. stackoverflow.com/questions/56720477/…

Theonly 23.06.2019 04:14

Другие вопросы по теме