Значение запроса Laravel Two получает декремент и вставляет в столбец

Я новичок в контроллере Laravel I, пытающемся получить декремент (вычесть) два входных значения запроса и передать результат в столбец ( balance_amount ).

пример

      input price request       100
input paid_amount request  50
result balance_amount      50

мой контроллер

       public function pay(Request $request)
    {
$request['price'] = $request->price;  //PRICE $150
$request['paid_amount'] = $request->paid_amount; //PAID $100
$request['balance_amount'] = $request->balance_amount; //BALANCE $50
 
    Installment::create($request);   
           }              

  return redirect( )->with('success',' PAID SUCCESSFULLY');

    }  

2 ответа

          public function pay(Request $request)
    {
        $validated = $request->validate([
            'price' => ['integer',],
            'paid_amount' => ['integer',],
        ]);

        Installment::create(
            [
                'price' => $validated->price,
                'paid_amount' => $validated->paid_amount,
                'balance_amount' => $validated->price - $validated->paid_amount,
            ]
        );

        return redirect()->with('success', ' PAID SUCCESSFULLY');
    }

очевидно, вы не должны создавать модель из запроса, в этом нет смысла, вы не можете использовать новую переменную для хранения создаваемых данных;

      public function pay(Request $request){
    $sourceData = $request->only('price', 'paid_amount', 'balance_amount');
    //you can modify the $souceData variable as you want to custom the data you need to insert 
    Installment::create($sourceData);   
}              

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