【问题标题】:Missing required parameters for [Route: settings.networks.update] [URI: settings/networks/{network}] - Laravel[Route: settings.networks.update] [URI: settings/networks/{network}] 缺少必需的参数 - Laravel
【发布时间】:2020-07-14 04:18:57
【问题描述】:

我有一个问题,但没有找到解决方案。

显示以下故障:

Facade\Ignition\Exceptions\ViewException [Route: settings.networks.update] [URI: settings/networks/{network}] 缺少必需的参数。 (查看:C:\xampp\htdocs\patom\layout\resources\views\settings\networks\edit.blade.php) http://localhost:8000/settings/networks/5/edit

我的控制器:

/**
 * Show the form for editing the specified resource.
 *
 * @param  \App\Network  $network
 * @return \Illuminate\Http\Response
 */
public function edit($id)
{
    $network = Network::find($id);

    return view('settings.networks.edit', compact('network'));
}

我的编辑:

@extends('layouts.dashboard')

@section('content')

<!-- Content Wrapper. Contains page content -->
 <div class="content-wrapper">
   <!-- Content Header (Page header) -->
   <section class="content-header">
     <div class="container-fluid">
       <div class="row mb-2">
         <div class="col-sm-6">
           <h1>Update Network</h1>
         </div>
         <div class="col-sm-6">
           <ol class="breadcrumb float-sm-right">
             <li class="breadcrumb-item"><a href="{{ route('dashboard') }}">Home</a></li>
             <li class="breadcrumb-item active">Networks</li>
           </ol>
         </div>
       </div>
     </div><!-- /.container-fluid -->
   </section>

   <!-- Main content -->
   <section class="content">
     <div class="row">
       <div class="col-12">

           <!-- Horizontal Form -->
    <div class="card card-info">
      <div class="card-header">
        <h3 class="card-title">Please fill all (*)</h3>
      </div>
      <!-- /.card-header -->
      @if ($errors->any())
        <div class="alert alert-danger">
            <ul>
                @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
                @endforeach
            </ul>
        </div>
      @endif
      <!-- form start -->
      <form action="{{ route('settings.networks.update') }}" method="POST" class="form-horizontal">
        @method('PATCH')
        @csrf

        <div class="card-body">

          <div class="form-group row">
            <label for="name" class="col-sm-2 col-form-label">Name:</label>
            <div class="col-sm-4">
              <input type="text" class="form-control" id="name" name="name" value="{{ $network->name }}">
            </div>
          </div>
          <div class="form-group row">
            <label for="own_network_id" class="col-sm-2 col-form-label">Network ID:</label>
            <div class="col-sm-4">
              <input type="text" class="form-control" id="own_network_id" name="own_network_id" value="{{ $network->own_network_id }}">
            </div>
          </div>

        </div>
        <!-- /.card-body -->
        <div class="card-footer">
          <button type="submit" class="btn btn-info">Update</button>
          <button type="submit" class="btn btn-default float-right">Cancel</button>
        </div>
        <!-- /.card-footer -->
      </form>
    </div>
    <!-- /.card -->

       </div>
       <!-- /.col -->
     </div>
     <!-- /.row -->
   </section>
   <!-- /.content -->
 </div>
 <!-- /.content-wrapper -->

@endsection

我的索引:

|@foreach($networks as $network)

           <tr>
             <td>{{ $network->id }}</td>
             <td>{{ $network->name }}</td>
             <td><div class="btn-toolbar pull-right">
                  <a href="{{ route('settings.networks.edit', $network->id) }}"><button type="button" class="btn btn-success mr-3">Edit</button></a>
                 <form action="{{ route('settings.networks.destroy', $network->id) }}" method="POST">
                   @csrf
                   {{ method_field('DELETE') }}
                    <button type="submit" class="btn btn-danger mr-3">Delete</button>
                  </form>
                 </div>
             </td>
           </tr>

          @endforeach

我的路线:

Route::namespace('Settings')->prefix('settings')->name('settings.')->group(function(){

Route::resource('/networks', 'NetworksController', ['except' => ['show']]);

});

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    当你把路由放到视图文件中时,你仍然需要包含模型来生成路由。

    您的视图中有一条这样的路线,但它缺少网络模型。

    {{ route('settings.networks.update') }}
    

    您已经包含了网络,所以添加它应该很简单。

    {{ route('settings.networks.update', ['network' => $network]) }}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-09
      • 2020-07-16
      • 2021-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-22
      相关资源
      最近更新 更多