Laravel 将多个参数传递给命名路由

Laravel pass multiple parameters to named route

我无法将附加参数传递给命名路由。 我在 Laravel doc's as well as an answer on .

上找到了操作方法

我的问题是我无法在控制器中使用我的删除功能,当我单击 link 页面刷新并且没有抛出任何错误但没有进入控制器。

我的路线可能有什么问题?

路线:

Route::delete('/assets/{asset}/{model}', 'AssetManagmentController@destroy')->name('asset.delete');

参考资料:

<td data-label="Destroy:"><a href="{{ route('asset.delete', ['asset' => $row->id, 'model' => $key] ) }}" data-method="DELETE" data-destoy='destroy' name="delete_item">Destroy</a></td>

<td data-label="Destroy:"><a href="{{ route('asset.delete', ['asset' => 'id', 'model' => 'model'] ) }}" data-method="DELETE" data-destoy='destroy' name="delete_item">Destroy</a></td>

data-method="DELETE" 不会神奇地让您的 link 执行 DELETE 请求。锚标签只能发送 GET 个请求。

您必须创建一个可以与锚标记一起使用的 GET 路由,或者创建一个表单 that can be spoofed to send a DELETE request

根据您提供的信息, u 只需要把锚标签的HREF改成route('asset/assets_id/Modelname').

Route::delete('/asset/{id}/{model}','AssetManagmentController@destory')->name('assets.delete');

<td data-label="Destroy:"><a href="{{ route('asset/assets_id/Modelname') }}" data-method="DELETE" data-destoy='destroy' name="delete_item">Destroy</a></td>

根据您提到的路线,需要创建带有删除请求的表格。

喜欢。

<td data-label="Destroy:">
{{ Form::open(['route' => ['asset.delete', $row->id, $key], 'method' => 'delete']) }}
<button type="submit">Destroy</button>
{{ Form::close() }}
</td>

我已经在我的系统中进行了测试,它是有效的。

这是我的工作代码

<td>
  <form method="post" id="delete-form-{{ $post->id }}" action="{{ route('post.destroy', $post->id) }}" style="display: none;"> @csrf @method('DELETE') </form>
  <a href="javascript: void(0);" onclick="if(confirm('Are you sure, You want to delete this?')) { event.preventDefault(); document.getElementById('delete-form-{{ $post->id }}').submit(); }">
    <span class="fa fa-trash"></span>
  </a>
</td>

希望对您有所帮助