Laravel запомнить id
Необходимо с одной таблицей из базы данных связать другую. Авторизированный пользователь сначала заполняет одну форму. Занесение id этого пользователя получилось сделать через Auth::user()->id. После заполнения этой формы пользователь жмёт далее и заполняет следующую (несколько следующих), которые все должны относится к предыдущей. Как можно запомнить id этой самой первой формы?
public function submit (Request $req)
{
$d=Auth::user()->id;
$zayav=new Zayavka();
$zayav->id_user=$d;
$zayav->plat=$req->input('plat');
$zayav->aim=$req->input('aim');
$zayav->viezd=$req->input('viezd');
$zayav->metod=$req->input('metod');
$zayav->vozvr=$req->input('vozvr');
$zayav->save();
return redirect()->route('products');
}
public function submit (Request $req)
{
$zayav1=new Zayavka1();
$zayav1->id_zayav=(вот тут как-то надо вбить id из предыдущей заполненной формы);
$zayav1->123=$req->input('123');
$zayav1->1234=$req->input('1234');
$zayav1->save();
return redirect()->route('products');
}
Ответы (1 шт):
Самый простой способ, наверное, формировать новую вьюху так, чтобы в "следующей форме" было скрыто поле с нужным значением. Но, это как-то неправильно,.. не безопасно..
Посмотри на HTTP Session. Думаю, это то, что тебе нужно.
А можно сделать через связанные маршруты (Nested Resources). Например, есть фотографии и есть комментарии к ним. Делаем связанные маршруты:
Route::resource('photos', 'PhotoController');
Route::resource('photos.comments', 'PhotoCommentController');
Если, в твоем случае, работа с ресурсами избыточна, то можно просто создать несколько нужных маршрутов:
/photos/{photo}/comments/create
/photos/{photo}/comments
В PhotoCommentController будут функции:
create(Photo $photo)
store(Request $request, Photo $photo)
Таким образом, в store() (или как ты назвал submit()) ты всегда будешь знать к чему привязываться.
PS Вместо Auth::user()->id используй Auth::id()