Laravel 5.8路由页面找不到404错误

时间:2019-03-16 05:23:31

标签: php laravel

我是Laravel的新手。我正在从教程中学习Laravel,却遇到了一个我无法解决的问题。
我认为我在路由方面遇到问题,但找不到它
有趣的是,如果function updateUserStatus(string $status, $userID){ $stmt = \DB::SELECT('CALL UPDATE_STATUS($status, $userID)'); } href,那么它将转到创建页面,但是当我需要使用ID时,它将无法正常工作... 我对帖子和类别具有相同的功能,但是对于这两个而言一切正常。所以,我真的需要您的帮助才能看到我看不到的东西。我有这些文件:

{{route('tag.create'}}

index.blade.php

@extends('layouts.app') @section('content') <div class="card"> <div class="card-body"> <table class="table table-hover"> <thead> <th> Tag name </th> <th> Delete </th> </thead> <tbody> @if($tags->count()>0) @foreach($tags as $tag) <tr> <td> {{$tag->tag}} </td> <td> <a href="{{route('tag.delete', ['id' =>$tag->id])}}" class="btn btn-danger btn-xs"><i class="fa fa-trash" aria-hidden="true"></i></a> </td> </tr> @endforeach @else <tr> <th colspan="5" class="text-center"> No tags yet </th> </tr> @endif </tbody> </table> </div> </div> @stop -在这里我为web.php的标签定义路由:

TagsController.php

//Tags Route::get('/tags',[ 'uses'=>'TagsController@index', 'as'=> 'tags' ]); Route::post('/tag/update/{$id}',[ 'uses'=>'TagsController@update', 'as'=> 'tag.update' ]); Route::get('/tag/create',[ 'uses'=>'TagsController@create', 'as'=> 'tag.create' ]); Route::post('/tag/store',[ 'uses'=>'TagsController@store', 'as'=> 'tag.store' ]); Route::get('/tag/delete/{$id}',[ 'uses'=>'TagsController@destroy', 'as'=> 'tag.delete' ]); -最初,我尝试销毁该元素,然后尝试返回create view(因为当我通过/ tag / create rout时一切正常),但在这里均无效

TagsController.php

2 个答案:

答案 0 :(得分:1)

我认为您应该将路由设置为Route::get('/tag/delete/{id}',[ 'uses'=>'TagsController@destroy', 'as'=> 'tag.delete' ]);,因为在您的情况下,您正在告诉路由期望有一个名为$id的变量

答案 1 :(得分:0)

请将web.php中路由设置中的参数从$ id更改为id。我应该解决你的问题。

例如:Route::get('/tag/delete/{id}',[ 'uses'=>'TagsController@destroy', 'as'=> 'tag.delete' ]);

谢谢!!。