Laravel: как получить данные с поста - PullRequest
4 голосов
/ 07 июня 2019

Я создал функцию в моих маршрутах, которая берет некоторые данные из представления и отправляет их в другое представление

Route::post('/trans',  function(){
    $j = Input::get('r');
    return view('movs.create')->with($j);
});

этот маршрут принимает данные из этой формы

<form action="/trans" method="POST">
                    @csrf
                    <div class="input-group">
                      <input type="hidden" class="form-control" name="r" value={{$cooperado->id}}>
                        <button type="submit" class="btn btn-primary">
                          <span>+</span>
                        </button>
                      </span>
                    </div>
                </form>

но я не могу установить данные в этой другой форме на 'movs.create'

<form method="post" action="{{ route('movs.store') }}">
          <div class="form-group">
              @csrf
              <label for="name">ID COOP:</label>
              <input type="number" class="form-control" name="id_coop" readonly/> <-- data must be setted here
          </div>
          <div class="form-group">
              <label for="price">VALOR MOVIMENTACAO:</label>
              <input type="number" step=0.01 class="form-control" name="valor"/>
          </div>
          <button type="submit" class="btn btn-primary">Add</button>
      </form>

, когда я пытаюсь установить данные на входе id_coop, laravel говорит, что переменная не существует

Ответы [ 3 ]

3 голосов
/ 07 июня 2019

Чтобы задать данные в форме создания, вам может потребоваться добавить атрибут value к входу id_coop:

<input type="number" class="form-control" name="id_coop" value="{{ $j }} readonly/>

Кроме того, ->with() должен быть ключом (именем переменной) и значением:

Route::post('/trans',  function(){
    $j = Input::get('r');
    return view('movs.create')->with('id_coop', $j);
});

Это будет означать, что вы используете {{ $id_coop }} вместо.

1 голос
/ 07 июня 2019

// контроллер

public function Postdata(Request $request){

        $data['j'] = Input::get('r');
        return view('movs.create',$data);


    }

// маршрут

Route::post('/trans','yourController@Postdata');

// ваш взгляд

<form method="post" action="{{ url('/store') }}">
          <div class="form-group">
              @csrf
              <label for="name">ID COOP:</label>
              <input type="number" class="form-control" name="id_coop" value="{{ $j }}" readonly/> <-- data must be setted here
          </div>
          <div class="form-group">
              <label for="price">VALOR MOVIMENTACAO:</label>
              <input type="number" step=0.01 class="form-control" name="valor"/>
          </div>
          <button type="submit" class="btn btn-primary">Add</button>
      </form>

// хранить маршрут

Route::post('/store','yourController@Savedata');

надеюсь, это поможет

1 голос
/ 07 июня 2019

с работает с парой ключ-значение

Route::post('/trans',  function(){
    $j = Input::get('r');
    return view('movs.create')->with('j',$j);
   // or return view('movs.create', compact('j')); // it will extract in 
    //blade as $j
    // or return view('movs.create', ['j' => $j]); 
});

// вы можете получить эти данные в блейде как {{$j}}

<input type="number" class="form-control" name="id_coop" value="{{$j ?? ''}}" readonly/> 

Пример with,

return view('greeting')->with('name', 'Victoria'); // name as key and Victorial as value.

{{$j ?? ''}} если данные не установлены, то значение ''.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...