Передача данных с блейда на контроллер Laravel - PullRequest
0 голосов
/ 09 ноября 2018

Я хочу передать объект из блейд-файла в файл контроллера. Цель - когда пользователь нажимает кнопку редактирования, он получает форму, заполненную предыдущими входными данными. Я использую этот код в блейд-файле:

<a href="/feestype/{{ $feesType->id }}/edit" class="btn btn-info btn-sm">Edit</a>

Но когда я хочу получить переданный объект из метода редактирования контроллера, я получаю ноль. Код моего контроллера теперь такой:

public function edit(FeesType $feesType)
{
    //
    dump($feesType->name);
    return view('feestype.edit',['feesType'=>$feesType]);
}

Здесь у меня есть объект $ feeType, но я получаю ноль. Пожалуйста, помогите мне, как я могу решить эту проблему. Заранее спасибо

Ответы [ 4 ]

0 голосов
/ 08 декабря 2018

Вы должны изменить свой маршрут на:

Route::put('feestype/{id}/edit', 'YourController@edit');

Для обновления и редактирования вы должны использовать put not get.

Обратите внимание, что для этого кода:

<a href="/feestype/{{ $feesType->id }}/edit" class="btn btn-info btn-sm">Edit</a>

сначала вы должны сжать $ feetype в YourController, а затем использовать свой код в blade-сервере.

0 голосов
/ 09 ноября 2018

Теперь код в блейд-файле

<a href="{{ route('feestype.edit',$feesType) }}" class="btn btn-info btn-sm">Edit</a>

Файл контроллера содержит этот код:

public function edit(FeesType $feesType)
{
    //
    $feesType = FeesType::find($feesType->id);
    dump($feesType->name);
    return view('feestype.edit',['feesType'=>$feesType]);
}

А вот мое определение маршрута:

Route::resource('feestype','FeesTypesController');

И браузер показывает это сообщение: введите описание изображения здесь

0 голосов
/ 09 ноября 2018
FeesType {#283 ▼
  #fillable: array:2 [▶]
  #connection: null
  #table: null
  #primaryKey: "id"
  #keyType: "int"
  +incrementing: true
  #with: []
  #withCount: []
  #perPage: 15
  +exists: false
  +wasRecentlyCreated: false
  #attributes: []
  #original: []
  #changes: []
  #casts: []
  #dates: []
  #dateFormat: null
  #appends: []
  #dispatchesEvents: []
  #observables: []
  #relations: []
  #touches: []
  +timestamps: true
  #hidden: []
  #visible: []
  #guarded: array:1 [▶]
}
0 голосов
/ 09 ноября 2018

Привязка модели маршрута работает немного по-другому, вот документация

Что вам нужно сделать, так это проложить маршрут:

Route::get('feestype/{feesType}/edit', 'YourController@edit')->name('feestype.edit');

тогда по вашему мнению

<a href="{{ route('feestype.edit', $feesType) }}" class="btn btn-info btn-sm">Edit</a>

- РЕДАКТИРОВАТЬ

с использованием файла ресурса:

Route::resource('feestype', 'YourController')

ссылка будет построена так же, как указано выше:

{{ route('feestype.edit', $feesType) }}
...