невозможно получить данные из функции редактирования, используя Laravel 5.6 - PullRequest
0 голосов
/ 01 апреля 2020

Я создал приложение CRUD с Laravel 5.6. Я создал контроллер ресурсов для выполнения этой функции. В контроллере (Index и Create) функции работают нормально, но функция редактирования я пытаюсь отобразить переменные, которые отображаются пустыми. Я не могу понять, почему это так. Пожалуйста, помогите исправить эти проблемы.

Файл модели

<?php

namespace Asset_Management_System;

use Illuminate\Database\Eloquent\Model;

class assetType extends Model
{
    //
}

Файл контроллера

<?php

use Illuminate\Http\Request;
use Asset_Management_System\assetType;

public function edit(assetType $assetTypes)
{
    $arr['assetTypes'] = $assetTypes;
    return view('assets.asset_types.edit')->with($arr);
}
?>

Путь URL

http://127.0.0.1:8000/AssetTypes/1/edit

Маршрут

Route::resource('AssetTypes','AssetTypeController');

Когда я нажимаю кнопку редактирования, происходит редактирование страницы, но данные поступают.

Сообщение об ошибке

Отсутствуют обязательные параметры для [Route: AssetTypes.update] [URI: AssetTypes / {AssetType}]. (Представление: C: \ xampp \ htdocs \ Asset_Management_Laravel \ resources \ views \ assets \ asset_types \ edit.blade. php)

Я также прикрепил скриншот сообщения об ошибке.

enter image description here

Ответы [ 2 ]

0 голосов
/ 01 апреля 2020

я думаю, вы должны получить $ id в аргументах метода редактирования

Route::put('user/{id}', 'UserController@update');



<?php

  namespace App\Http\Controllers;

  use Illuminate\Http\Request;

  class UserController extends Controller
  {
    /**
   * Update the given user.
   *
   * @param  Request  $request
   * @param  string  $id
   * @return Response
   */
  public function update(Request $request, $id)
  {
      //
  }
 }

https://laravel.com/docs/5.7/controllers#resource -контроллеры

0 голосов
/ 01 апреля 2020

URL-путь - это GET-путь, показывающий что-то вроде формы. Данные будут показаны, потому что вы загружаете экземпляр assetType, но не используете view ();

У вас должно быть что-то вроде этого

public function edit(assetType $AssetTypeData)
{
    return view('assetType.edit', ['assetType' => $AssetTypeData]);
}
...