За последние 24 часа нас посетили 17898 программистов и 1584 робота. Сейчас ищут 1355 программистов ...

Флеш запросы

Тема в разделе "Laravel", создана пользователем Dimon2x, 7 авг 2018.

  1. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.210
    Симпатии:
    185
    Я не понимаю, как использовать эту конструкцию

    Flashing Input Then Redirecting
    Since you often will want to flash input to the session and then redirect to the previous page, you may easily chain input flashing onto a redirect using the withInput method:

    PHP:
    1. return redirect('form')->withInput();
    2.  
    3. return redirect('form')->withInput(
    4.     $request->except('password')
    5. );

    ----------------------------------------------------

    Делаю так

    HTML:
    1. @extends('index')
    2.  
    3. @section('content')
    4. <form action="store" method="post" enctype="multipart/form-data">
    5.     {{csrf_field()}}
    6.     <input type="file" name="image">
    7.     <br>
    8.     <input type="text" name="description" >
    9.     <input type="submit">
    10. </form>
    11. @endsection

    PHP:
    1. Route::post('/store', function(Request $request){
    2.    
    3.     if(empty($request->input('image')) ) {
    4.         $request->flash();
    5.        
    6.         return redirect('create')->withInput(
    7.             $request->except('description')
    8.         );
    9.     }
    И старое значение не сохраняется, приходится делать так

    HTML:
    1. @extends('index')
    2.  
    3. @section('content')
    4. <form action="store" method="post" enctype="multipart/form-data">
    5.     {{csrf_field()}}
    6.     <input type="file" name="image">
    7.     <br>
    8.     <input type="text" name="description" value="{{ old('description') }}">
    9.     <input type="submit">
    10. </form>
    11. @endsection
    PHP:
    1. Route::post('/store', function(Request $request){
    2.    
    3.     if(empty($request->input('image')) ) {
    4.         $request->flash();
    5.         return redirect('/create');
    6.     }
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Ну да, старое значение вытягивается через хелпер old, как бы Laravel сам по себе не может знать, куда и как его тебе впендюрить. Там ещё второй параметр есть, чего подставлять, если old-а такого нету (для форм редактирования). Except - знаешь как слово с английского переводится?
     
  3. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.210
    Симпатии:
    185
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    Понял, почему в первом случае не передавалось description в old ?
     
  5. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.210
    Симпатии:
    185
    @mkramer потому что он не учитывается