如何将一个值从一个按钮中的控制器传递到下一个刀片?

iklwldmw  于 2021-06-24  发布在  Mysql
关注(0)|答案(3)|浏览(293)

我要传递来自此控制器的值:

public function show($id)
{
  $data_show = DB::select("SELECT * FROM staffs WHERE id = ?", [$id]);
  $data_profil = DB::select("SELECT id FROM staffs WHERE id = ?", [$id]);
  return view('keluarga.index', compact('data_show', 'data_profil'));
}

将值传递到此刀刃:

<div class="row">
  <div class="form-group">
      <!--add new button  -->
      <div class="col-lg-2">
          {!! Form::open(['route' => 'addkeluarga_form', $data_profil->id]) !!}

          {{ Form::submit('Add New', ['class' => 'btn btn-primary']) }}

          {!! Form::close() !!}
      </div>
      <!-- show all button -->
      <div class="col-lg-1">
          {{ Form::submit('Delete', ['class' => 'btn btn-danger']) }}
      </div>
      <div class="col-lg-1">
          {{ Form::submit('Cancel', ['class' => 'btn btn-warning']) }}
      </div>    
  </div>
</div>

这是addnew按钮,它将职员id带到addnewblade。但是它无法读取刀片中id的值。
如何解决这个问题?

7rfyedvj

7rfyedvj1#

这样写起来就容易多了

$data_profil = DB::table("staffs")->select("id")->whereId($id)->first();

但这没有任何意义,因为您的控制器中已经有$id。从数据库中再次检索它是没有意义的。
将$id传递给模板并改用它
返回视图('keluarga.index',compact('data\u show','id'));

9jyewag0

9jyewag02#

对于第一个查询get all列,对于secound查询,我认为您不需要获取id,因为您已经有了id。

$data_show = DB::table("staffs")->where('id',$id)->first();
$data_profil = $data_show->id;
OR
$id = $id; // As the same id it will return

return view('keluarga.index', compact('data_show', 'data_profil','id'));
omqzjyyz

omqzjyyz3#

检查 data_profil 变量包含使用print\u r()方法的期望值。即

$data_profil = DB::select("SELECT id FROM staffs WHERE id = ?", [$id]);
print_r($data_profil);//you will comment this out latter

在页面顶部检查变量的内容,我可以看到一个嵌套的数组输出,如 Array ( [0] => stdClass Object ( [id] => 1 , ...)) ,则可能需要在模板中将变量引用为数组。即。

$data_profil[0]->id

相关问题