我的PagesController -每次我点击我的页面上的某些按钮时,它都会给我这个错误。
目标类App\Http\Controllers\App\Http\Controllers\Admin\PagesController不存在。
<?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');
}
}
}我检查了页面控制器,用户控制器,路由,供应商在过去的两天里我什么也做不了,即使我暂时清除了错误,它又回来了。我使用的这门课程并没有告诉我问题是什么,我从头到尾一直想要它。
这也是路径文件
<?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');发布于 2021-09-09 12:36:18
如果类用引号括起来,那么您可以使用相对于\App\Http\Controllers的路径
Route::resource('/admin/pages', 'Admin\PagesController', ['except' => [
'show'
]]);
Route::resource('/admin/users', 'Admin\UsersController', ['except' => [
'create','store','show'
]]);或者,您可以使用完整的类路径
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'
]]);发布于 2021-09-09 12:40:10
尝尝这个
Route::namespace('Admin')->group(function() {
Route::resource('/admin/pages', 'PagesController');
});https://stackoverflow.com/questions/69118040
复制相似问题