首页 > 解决方案 > 为什么 laravel show route [setting.edit] 未定义?

问题描述

在此处输入图像描述

我遇到了这个问题。请告诉我如何解决这个问题.....它显示这样的消息:

路线 [setting.edit] 未定义。(查看:/home/rashed/Downloads/mahedy blog/resources/views/admin/layout/header.blade.php)(查看:/home/rashed/Downloads/mahedy blog/resources/views/admin/layout/header. Blade.php)(查看:/home/rashed/Downloads/mahedy blog/resources/views/admin/layout/header.blade.php)

<?php


namespace App\Http\Controllers\Admin\Settings;



use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Model\admin\Admin;
use Illuminate\Support\Facades\Auth;

class SettingsController extends Controller
{

    public function __construct()
    {
        $this->middleware('auth:admin');
    }


    public function edit($id)
    {
         $users = admin::find(Auth::user()->id);
         return view('admin.settings.update',compact('users'));
    }
}

路线:

Route::group(['namespace' => 'Admin'] , function()
{

  Route::get('/backend','HomeController@ShowHomePage');

  Route::resource('backend/category','CategoryController');
  Route::resource('backend/tag','TagController');
  Route::resource('backend/post','PostController');
  Route::resource('backend/admin','AdminController');

  Route::resource('backend/settings','SettingsController');

  Route::resource('backend/profile','ProfileController');
  Route::resource('backend/youtube','YoutubeController');
  Route::resource('backend/email','EmailController');

  /****Admin Login Route*****/
  Route::get('backend/login', 'Auth\LoginController@showLoginForm')->name('admin.login');
  Route::post('backend/login', 'Auth\LoginController@login');
  Route::post('backend/logout', 'Auth\LoginController@logout')->name('logout');

});

标签: phplaravel

解决方案


如果添加backendstring ,您的路线名称会有所不同。删除此单词并将其添加到前缀中

你的路线应该像

 Route::group(['namespace' => 'Admin', 'prefix'=>'backend'] , function()
 {
 Route::resource('settings','SettingsController');
 .....
  }

现在您的路线名称settings.edit将起作用。您可以通过以下方式查看可用路线php artisan route:list


推荐阅读