Php Larvel:方法[index]在[App\Http\Controllers\admin\PostsController]上不存在
这个答案解决不了我的问题 在web.php中Php Larvel:方法[index]在[App\Http\Controllers\admin\PostsController]上不存在,php,laravel,Php,Laravel,这个答案解决不了我的问题 在web.php中 Route::prefix('admin')->group(function () { Route::resource('post', 'admin\PostsController'); }); 应用程序内/Http/Controllers/admin 我有PostsController.php 其中包含 <?php namespace App\Http\Controllers\admin; use App\Model\Po
Route::prefix('admin')->group(function () {
Route::resource('post', 'admin\PostsController');
});
应用程序内/Http/Controllers/admin
我有PostsController.php
其中包含
<?php
namespace App\Http\Controllers\admin;
use App\Model\Post;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class PostsController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
$posts = \App\Post::all();
return view('admin.posts',['posts'=>$posts]);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create(Request $request)
{
//
$post = new Post;
$post->content = $request->input('descr');
$post->save();
}
//印刷品
App\Http\Controllers\admin\PostsController Object ( [middleware:protected] => Array ( ) ) index
php artisan打印以下内容
php artisan route:list
| | GET|HEAD | admin/post | post.index | App\Http\Controllers\admin\PostsController@index | web
使用laravel 5.4版,我运行了以下命令
php artisan make:controller admin/PostsController--resource
在web.php路由文件中添加了以下内容
Route::prefix('admin')->组(函数(){
路由::资源('post','admin\PostsController');
});代码>
控制器文件
namespace App\Http\Controllers\admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class PostsController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
echo "call to index";
}
........
other functions
}
对我来说很好
使用laravel 5.4版,我运行了以下命令
php artisan make:controller admin/PostsController--resource
在web.php路由文件中添加了以下内容
Route::prefix('admin')->组(函数(){
路由::资源('post','admin\PostsController');
});代码>
控制器文件
namespace App\Http\Controllers\admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class PostsController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
echo "call to index";
}
........
other functions
}
对我来说很好
可能您的控制器中有不明确的类,这意味着您可能在不同的控制器中有相同的类名。要解决该问题,请运行以下命令
1. composer update
2. composer dumpautoload
3. php artisan config:cache
4. php artisan view:clear
确保composer update在没有错误的情况下成功运行。如果控制台中提到错误,请更正代码库中出现的所有错误。可能控制器中的类不明确,这意味着不同控制器中可能有相同的类名。要解决该问题,请运行以下命令
1. composer update
2. composer dumpautoload
3. php artisan config:cache
4. php artisan view:clear
确保composer update在没有错误的情况下成功运行。如果控制台中提到了错误,请更正代码库中出现的所有错误。尝试访问帖子
@MASh-Dou希望我尝试而不是获取未找到页面的错误是。试试这个。@MASh I get page not found error从Route::resource('post','admin\PostsController')重写这一行代码>到路由::资源('posts','admin\PostsController')
然后尝试访问admin/posts
尝试访问posts
@MASh-Dou要我尝试而不是我获取页面未找到错误是。试试这个。@MASh I get page not found error从Route::resource('post','admin\PostsController')重写这一行代码>到路由::资源('posts','admin\PostsController')
然后尝试访问admin/posts
谢谢!很显然,我花了几个小时调试我的路线和控制器出了什么问题,最后发现我已将一个控制器重命名为ControllerOld
,但controller
类名仍存在于旧控制器中,因此controller
与旧控制器中定义的类名冲突,因此出现此异常!祝你圣诞快乐!很显然,我花了几个小时调试我的路线和控制器出了什么问题,最后发现我已将一个控制器重命名为ControllerOld
,但controller
类名仍存在于旧控制器中,因此controller
与旧控制器中定义的类名冲突,因此出现此异常!快乐编码