Обновление строки в Laravel 5.7 не работает, как мне это исправить? - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь обновить строку в таблице MySQL.Однако, когда я нажимаю кнопку регистрации , она ничего не делает.Я использую Laravel.

Вот моя update функция:

public function update(Request $request)
{
    $idpawn = $request['idprestamo'];
    $paynumber = $request['numeropago'];
    $payqty = $request['payqty'];
    $statuspawns = statuspawns::find($idpawn,$paynumber);
    $updateqty = $statuspawns->totalpayment - $payqty;

    if($updateqty  == "0"){
        $status = "Pay";
    }
    else{
        $status = "Partial Payment";
    }

    $statuspawns->total = $updateqty;
    $statuspawns->status = $status;
    $statuspawns->save();

    return redirect()->back();
}

Спасибо за вашу помощь.

Ответы [ 3 ]

0 голосов
/ 26 октября 2018

Вы должны получить доступ к Request таким образом $request->input_name, а не таким образом $request('input_name'), потому что это Сбор данных Laravel

В конце концов, ваша функция будет выглядеть так:

public function update(Request $request)
    {
        $idpawn = $request->idprestamo;
        $paynumber = $request->numeropago;
        $payqty = $request->payqty;
        $statuspawns = statuspawns::find($idpawn,$paynumber);
        $updateqty = $statuspawns->totalpayment - $payqty;

        if($updateqty  == "0"){
            $status = "Pay";
        }
        else{
            $status = "Partial Payment";
        }

        $statuspawns->total = $updateqty;
        $statuspawns->status = $status;
        $statuspawns->save();

        return redirect()->back();
    }

UPDATE

В Laravel 5.7 вы должны использовать метод update() вместо save() для обновления строки.

0 голосов
/ 12 ноября 2018

Вы не получаете запись правильно.Вы должны передать только идентификатор в find () .Поскольку вы передали два параметра.

измените этот оператор на ..

$statuspawns = statuspawns::find($idpawn,$paynumber);

На

$statuspawns = statuspawns::find($idpawn);

Теперь вы можете обновить столбцы, которые хотите обновить.

0 голосов
/ 26 октября 2018

Я думаю, что проблема может заключаться в том, что вам нужны квадратные скобки вместо скобок, так как это массив. $request['idprestamo'] $request['numeropago'] $request['payqty']

Я хотел бы также добавить, что вы можете сделать это таким же образом, используя магический метод ...

$request->numeropago

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...