【问题标题】:Laravel Form Update can't get the right valueLaravel 表单更新无法获得正确的值
【发布时间】:2016-09-22 12:45:35
【问题描述】:

所以我制作laravel 更新表格

Index.blade

 <div class="col-sm-12">
  <div class="formrow row">
    <div class="form-group">
      <div class="divlabel col-sm-2">
      <label>Kode Program Studi:</label>
      <span class="required">*</span>
    </div>
    <div class="divinput col-sm-8">
      <select id="id" data-plugin-selectTwo class="form-control populate placeholder" title="kode program studi harus diisi" name='id' required data-plugin-selecTwo>
        <option value="">-PILIH NAMA USER-</option>
        @foreach ($users as $user)
          <option class="form-control" value = '{{$user->id}}'>{{$user->id.' | '.$user->name}}</option>
        @endforeach
        <label class="error" for="id"></label>
    </select>
    </div>
  </div>

  {!! Form::open(['url' => 'master/hakakses/'.$user->id,'method' => 'PATCH','class'=>'update']) !!}
  <!-- {!! Form::model($user,['route'=>['master.hakakses.update', $user->id],'method' => 'PATCH','class'=>'update']) !!} -->


  <div class="form-group">
    <div class="divlabel col-sm-2">
    <label>Kode Program Studi:</label>
    <span class="required">*</span>
  </div>
  <div class="divinput col-sm-8">
    <select id="role" data-plugin-selectTwo class="form-control populate placeholder" title="kode program studi harus diisi" name='role_id' required data-plugin-selecTwo>
      <option value="">-PILIH HAK AKSES-</option>
      @foreach ($roles as $role)
        <option class="form-control" value = '{{$role->id}}'>{{$role->id.' | '.$role->role_akses.' | '.$role->role_name}}</option>
      @endforeach
      <label class="error" for="role"></label>
  </select>
  </div>
</div>
</div>
<div class="col-sm-offset-4 col-sm-50">
    <input type="submit" value="Ubah" name = 'simpan' class = 'btn btn-primary'>
  <td><a href="{{ url('master/hakakses')}}" class="btn btn-primary">Kembali</a></td>
</div>
</div>

  {!! Form::close() !!}

控制器:

public function index()
    {
        $data=new HakAkses;

        $users= $data->ListUser();
        $roles= $data->ListRole();
        return view ('Master.HakAkses.index',compact ('users','roles'));
    }
    public function update(Request $request, $id)
    {

return $id;

    }

型号:

public static function ListUser()
    {
      $table = DB::select( DB::raw("SELECT * FROM users"));
      return $table;
    }
    public static function ListRole()
    {
      $table = DB::select( DB::raw("SELECT * FROM m_role"));
      return $table;
    }

问题是当我尝试返回 $id 时,我无法获取 {{$role-&gt;id}} 的值,该值是 id 在数据库中的最新输入。我认为问题出在FORM

{!! Form::open(['url' => 'master/hakakses/'.$user->id,'method' => 'PATCH','class'=>'update']) !!}

谁能帮帮我?

【问题讨论】:

  • 显示你的路线文件
  • 我用的是资源路由,我觉得路由没问题

标签: php html forms laravel laravel-blade


【解决方案1】:

我看到问题是你在这里路过:

{!! Form::open(['url' => 'master/hakakses/'.$user->id,'method' => 'PATCH','class'=>'update']) !!}

$user-&gt;id 但你想进入你的控制器{{$role-&gt;id}}

所以解决方案在您的控制器中:

public function update(Request $request, $id)
{
    // $id is a user's id

    $roleId = $request->input('role_id');
}

【讨论】:

  • 不,问题是我无法从下拉列表中获取 id 值。 $roleId = $request->input('role_id');无济于事
  • i type return $id;所以我可以测试 $id 得到什么值
  • $request-&gt;input('role_id') 是下拉列表中的值。你能粘贴你的路由文件吗
  • 我的路由只有资源路由]
  • 好吧,也许我不明白你......你得到同样的错误,你没有进入控制器方法,或者你只是得到 null 的价值。你能把它扔掉吗(dd($id));
猜你喜欢
  • 1970-01-01
  • 2014-12-23
  • 2020-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-14
  • 2016-03-03
  • 1970-01-01
相关资源
最近更新 更多