Привет, я обнаружил ошибку в своем приложении laravel и задаюсь вопросом, как ее исправить: /
Код моих контроллеров
public function patvirtinimas($id,$bookid)
{
return \View::make('grazintiknyga.patvirtinti',compact('id','bookid'));
}
public function grazintiknygasave($id,$bookid,Request $request)
{
if(Input::get('taip'))
{
$grazinimas = Carbon::now();
$grazinimas->format("Y-m-d");
$kasprieme = Auth::user()->id;
$resetas = NULL;
//dd($kasprieme);
DB::beginTransaction();
try {
DB::table('borrows')
->where('id', $id)
->update(['grazinimo_data' => $grazinimas,
'prieme' => $kasprieme
]);
DB::table('books')
->where('id', $bookid)
->update(['isdavimo_data' => $resetas,
'terminas' => $resetas,
'grazinimo_data' => $resetas
]);
DB::commit();
// jeigu viskas gerai
} catch (\Exception $e) {
DB::rollback();
dd($e);
// jeigu kazkas negerai
}
return \Redirect::to(url('grazinti-knyga'))->with('grazinta','Knyga grąžinta sėkmingai!');
}
elseif(Input::get('ne'))
{
return \Redirect::to(url('grazinti-knyga'))->with('negrazinta','Knygos grąžinimas atšauktas!');
}
}
Одна функция для просмотра другой для обновления таблиц в БД
routes
Route::get('patvirtinti-grazinima-{id}-{bookid}', 'BorrowController@patvirtinimas');
Route::post('grazinimas-save-{id}-{bookid}', 'BorrowController@grazintiknygasave');
Проблема в том, что я редактирую маршрут прямо в браузере grazinimas-save- {someid} - {somebookid}
Когда один из параметров соответствует другому dont тогда половина транзакции db работает, а другая не обновляет и не уничтожает мой db:? может кто-нибудь помочь исправить эти ошибки? что оба параметра должны совпадать в db для обновления. Может быть, есть какие-то параметры скрытия и валидации?