如何解决:Route.php第333行中的ReflectionException:方法App\Http\Controllers\PerekamanController::show()不存在;在Laravel 5.3中?

如何解决:Route.php第333行中的ReflectionException:方法App\Http\Controllers\PerekamanController::show()不存在;在Laravel 5.3中?,php,laravel,laravel-5.3,Php,Laravel,Laravel 5.3,我的proses.blade.php如下所示: <form method="POST" action="{{ url('/perekamans/proses') }}"> {!! csrf_field() !!} ... </form> Route::resource('perekamans', 'PerekamanController'); Route::get('perekamans/proses', ['uses' => 'Perekama

我的proses.blade.php如下所示:

<form method="POST" action="{{ url('/perekamans/proses') }}">
    {!! csrf_field() !!}
    ...
</form>
Route::resource('perekamans', 'PerekamanController');

Route::get('perekamans/proses', ['uses' => 'PerekamanController@listdata']);
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PerekamanController extends Controller
{
    public function index(Request $request)
    {
        return view('perekamans.index');
    }

    public function listData()
    {
        return view('perekamans.show');
    }
}
我的PerekamanController是这样的:

<form method="POST" action="{{ url('/perekamans/proses') }}">
    {!! csrf_field() !!}
    ...
</form>
Route::resource('perekamans', 'PerekamanController');

Route::get('perekamans/proses', ['uses' => 'PerekamanController@listdata']);
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PerekamanController extends Controller
{
    public function index(Request $request)
    {
        return view('perekamans.index');
    }

    public function listData()
    {
        return view('perekamans.show');
    }
}
看起来我的代码是正确的,但为什么它仍然是一个错误

有什么办法解决我的问题吗

更新:

对不起,我不能回答你所有的问题。每次我写评论回答你的问题,然后点击评论按钮,它不能。存在消息:
有资格在2天内获得赏金的问题

因此,如果控制器缺少所有资源方法(索引、创建、存储、显示等),则立即提供任何解决方案。您需要“操作”列中的所有方法

计划使用资源控制器时,最好使用artisan构建控制器:

php artisan make:controller --resource PerekamanController 

控制器缺少所有资源方法(索引、创建、存储、显示等)。您需要“操作”列中的所有方法

计划使用资源控制器时,最好使用artisan构建控制器:

php artisan make:controller --resource PerekamanController 
在PerekamanController中添加show()方法。 你的路线看起来很奇怪,可能不太合适。因此,请确保您的Http Web服务器重写已打开

如果您使用Apache,请打开您的mod_rewrite,并在.htaccess文件中尝试此代码

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
如果是Nginx,请在配置文件中尝试此操作

location / {
    try_files $uri $uri/ /index.php?$query_string;
}
希望这能帮助您在PerekamanController中添加show()方法。 你的路线看起来很奇怪,可能不太合适。因此,请确保您的Http Web服务器重写已打开

如果您使用Apache,请打开您的mod_rewrite,并在.htaccess文件中尝试此代码

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
如果是Nginx,请在配置文件中尝试此操作

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

希望这能帮助您

您在途中出错:

Route::get('perekamans/proses', ['uses' => 'PerekamanController@listdata']);

Route::resource('perekamans', 'PerekamanController');
改变顺序变成那样

还有一件事,在拉威尔,你可以让事情变得更简单

Route::get('perekamans/proses', 'PerekamanController@listdata');

您不需要使用
uses
来设置它将使用哪个控制器

您在路线上出错:

Route::get('perekamans/proses', ['uses' => 'PerekamanController@listdata']);

Route::resource('perekamans', 'PerekamanController');
改变顺序变成那样

还有一件事,在拉威尔,你可以让事情变得更简单

Route::get('perekamans/proses', 'PerekamanController@listdata');

您不需要使用
uses
来设置它将首先使用哪个控制器,
public
应该是您的根目录,而不是显示在第二个URL中,在路由中,您没有将
proses
定义为路由。也没有将
perekaman/proses
定义为路由,新的错误告诉您
PerekamanController
上不存在
show()
方法。错误是关于myController的,它在哪里?首先,
public
应该是您的根目录,并且不显示在URL中第二,您的路由中没有任何地方将
proses
定义为路由。您也没有定义
perekaman/proses
,新的错误告诉您
show()
方法不存在于
PerekamanController
错误是关于myController的,它在哪里?