Как обновить несколько строк, используя одно значение в laravel? - PullRequest
0 голосов
/ 21 июня 2019

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

Записи моей базы данных:

enterage description here

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

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

Возможно ли это?Спасибо.

1 Ответ

0 голосов
/ 21 июня 2019

Запустите 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;
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...