如何解决:Route.php第333行中的ReflectionException:方法App\Http\Controllers\PerekamanController::show()不存在;在Laravel 5.3中?
我的proses.blade.php如下所示:如何解决: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
<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的,它在哪里?