首页 > 解决方案 > Laravel:如何通过 post 获取数据

问题描述

我在我的路由中创建了一个函数,它从一个视图中获取一些数据并发送到另一个视图

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 说该变量不存在

标签: phplaravel

解决方案


要在创建表单中设置数据,您可能需要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 }}改为使用。


推荐阅读