如何通过路由传递数据并分配到laravel中的文本框?

时间:2018-04-26 16:39:44

标签: php laravel laravel-5.5

我想通过路由传递数据,然后在modal弹出框中分配到文本框进行编辑。

我的控制器代码是:

public function edit($id) {
    $abc = property_type::find($id);
    return redirect('/admin/property-type')->with('popup','open');
}

弹出窗口是打开模态弹出窗口。 $abc有三个值:ID,名称和描述。我想用两个不同的文本框分配描述和名称:

<input type="text" class="form-control" value="{{Session::get('abc')}}" name="update_prop_name" >
<input type="text" class="form-control" value="{{Session::get('abc')}}" name="update_prop_desc" >

2 个答案:

答案 0 :(得分:0)

使用会话

 public function edit($id)
 {
        $abc=property_type::find($id);
        session("abc",$abc);
        session("popup","open");
        return redirect('/admin/property-type');
 }

获取会话值

  $abc = session("abc");

答案 1 :(得分:0)

我没有看到您将abc设置为会话的任何地方,因此value="{{ Session::get("abc") }}将为null

将此添加到您的edit功能:

public function edit($id){
  $abc = property_type::find($id);
  session()->put("abc", $abc);
  return redirect("/admin/property-type")->with(["popup" => "popup"]);
}

此外,使用session()->get("abc")将返回整个对象,而不是特定属性。可能想调整为:

<input type="text" class="form-control" value="{{ session::get("abc") ? session()->get("abc")->name : "" }}" name="update_prop_name" />
<input type="text" class="form-control" value="{{ session::get("abc") ? session()->get("abc")->description : "" }}" name="update_prop_desc" />

注意:三元?运算符也会处理session()->get("abc")返回null