Как передать данные через маршрут и назначить текстовое поле в laravel? - PullRequest
0 голосов
/ 26 апреля 2018

Я хочу передать данные по маршруту, а затем назначить текстовое поле для редактирования во всплывающем окне modal.

Код моего контроллера:

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

Всплывающее окно, чтобы открыть модальное всплывающее окно. $abc имеет три значения: идентификатор, имя и описание. Я хочу назначить описание и имя в двух разных текстовых полях:

<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 голосов
/ 26 апреля 2018

Я не вижу нигде, где вы устанавливаете 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

0 голосов
/ 26 апреля 2018

Используйте сессию вместо

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

И получить значение сеанса

  $abc = session("abc");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...