Значение запроса 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);
}