我的proses.blade.php是这样的:
<form method="POST" action="{{ url('/perekamans/proses') }}">
{!! csrf_field() !!}
...
</form>
我的路线\ web.php是这样的:
Route::resource('perekamans', 'PerekamanController');
Route::get('perekamans/proses', ['uses' => 'PerekamanController@listdata']);
我的PerekamanController是这样的:
<?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');
}
}
我的show.blade.php是这样的:
@extends('layouts.app')
@section('content')
<section class="content-header">
<h1 class="pull-left">PEREKAMAN DATA</h1>
</section>
<div class="content">
<div class="clearfix"></div>
@include('flash::message')
<div class="clearfix"></div>
<div class="box box-primary">
<div class="box-body">
@include('perekamans.table')
</div>
</div>
</div>
@endsection
我从网址打来的电话是这样的:http://localhost/mysystem/public/perekaman/proses
存在这样的错误:
哎呀,好像出了什么问题。 Route.php第333行中的1/1 ReflectionException:方法App \ Http \ Controllers \ PerekamanController :: show()不存在in Route.php line 333
at ReflectionMethod->__construct('App\Http\Controllers\PerekamanController', 'show') in Route.php line 333
at Route->signatureParameters('Illuminate\Database\Eloquent\Model') in Router.php line 789
看起来我的代码是正确的,但为什么它仍然是一个错误?
有什么解决方案可以解决我的问题吗?
更新:
抱歉,我无法回答你的所有问题。每次我写评论与你回答问题,然后点击评论按钮,它不能。有消息:
2天内有资格获得赏金的问题
所以你马上提供任何解决方案
答案 0 :(得分:2)
你在路线上犯了错误:
preg_match("/(\/)(\w+)(\?)/",$data,$m);
echo $m[2];
改变顺序就好了。
在Laravel还有一件事你可以更简单。
Route::get('perekamans/proses', ['uses' => 'PerekamanController@listdata']);
Route::resource('perekamans', 'PerekamanController');
您无需使用Route::get('perekamans/proses', 'PerekamanController@listdata');
来设置将使用哪个控制器
答案 1 :(得分:0)
您的控制器缺少所有资源方法(索引,创建,存储,显示等)。您需要&#34; actions&#34;中的所有方法mentioned in the documentation。列。
当您计划使用资源控制器时,最好使用工匠来支撑您的控制器:
php artisan make:controller --resource PerekamanController
答案 2 :(得分:0)
在PerekamanController中添加show()方法。 你的路线似乎很奇怪,可能效果不好。因此,请确保您的Http Webserver Rewrite已打开。
如果您使用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;
}
希望这会对你有所帮助