首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >目标类[App\Http\Controllers\App\Http\Controllers\Admin\PagesController]不存在

目标类[App\Http\Controllers\App\Http\Controllers\Admin\PagesController]不存在
EN

Stack Overflow用户
提问于 2021-09-09 12:18:28
回答 2查看 789关注 0票数 1

我的PagesController -每次我点击我的页面上的某些按钮时,它都会给我这个错误。

目标类App\Http\Controllers\App\Http\Controllers\Admin\PagesController不存在。

代码语言:javascript
复制
<?php

namespace App\Http\Controllers\Admin;

use Auth;
use App\Http\Controllers\Controller;
use App\Http\Requests\WorkWithPage;
use App\Models\Page;
use Illuminate\Http\Request;

class PagesController extends Controller
{

    public function __construct() {
        $this->middleware('admin');
    }
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        if (Auth::user()->isAdminOrUser()) {
            $pages = Page::paginate(5);
        } else {
            $pages = Auth::user()->pages()->paginate(5);
        }
        return view('admin.pages.index', ['pages' => $pages]);
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
        return view('admin.pages.create')->with(['model' => new Page()]);
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(WorkWithPage $request)
    {
        //
        Auth::user()->pages()->save(new Page($request->only([
            'title','url','content'])));

        return redirect()->route('pages.index')->with('status', 'The page has been created.');
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  \App\Models\Page  $page
     * @return \Illuminate\Http\Response
     */
    public function edit(Page $page)
    {
        if(Auth::user()->cant('update', $page)) {
            return redirect()->route('pages.index');
        }

        return view('admin.pages.edit', ['model' => $page]);
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \App\Models\Page  $page
     * @return \Illuminate\Http\Response
     */
    public function update(WorkWithPage $request, Page $page)
    {
        if(Auth::user()->cant('update', $page)) {
            return redirect()->route('pages.index');
        }
        $page->fill($request->only([
            'title','url','content']));

        $page->save();
        return redirect()->route('pages.index')->with('status', 'The page has been updated');
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  \App\Models\Page  $page
     * @return \Illuminate\Http\Response
     */
    public function destroy(Page $page)
    {
        if(Auth::user()->cant('delete', $page)) {
            return redirect()->route('pages.index');
        }
    }
}

我检查了页面控制器,用户控制器,路由,供应商在过去的两天里我什么也做不了,即使我暂时清除了错误,它又回来了。我使用的这门课程并没有告诉我问题是什么,我从头到尾一直想要它。

这也是路径文件

代码语言:javascript
复制
<?php

use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});

Auth::routes();

Route::get('/admin', function() {
    return view('admin.index');
})->middleware('admin');

Route::resource('/admin/pages', 'App\Http\ControllersAdmin\PagesController', ['except' => [
    'show'
]]);

Route::resource('/admin/users', 'App\Http\Controllers\Admin\UsersController', ['except' => [
    'create','store','show'
]]);

Route::get('/home', 'HomeController@index')->name('home');

Route::get('/home', 'HomeController@index')->name('home');
EN

回答 2

Stack Overflow用户

发布于 2021-09-09 12:36:18

如果类用引号括起来,那么您可以使用相对于\App\Http\Controllers的路径

代码语言:javascript
复制
Route::resource('/admin/pages', 'Admin\PagesController', ['except' => [
    'show'
]]);

Route::resource('/admin/users', 'Admin\UsersController', ['except' => [
    'create','store','show'
]]);

或者,您可以使用完整的类路径

代码语言:javascript
复制
Route::resource('/admin/pages', \App\Http\Controllers\Admin\PagesController::class, ['except' => [
    'show'
]]);

Route::resource('/admin/users', \App\Http\Controllers\Admin\UsersController::class, ['except' => [
    'create','store','show'
]]);
票数 1
EN

Stack Overflow用户

发布于 2021-09-09 12:40:10

尝尝这个

代码语言:javascript
复制
Route::namespace('Admin')->group(function() {
    Route::resource('/admin/pages', 'PagesController');
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69118040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档