Php Laravel:方法在控制器中定义,但它表示找不到方法
我使用的是Laravel5.2,下面是我的代码 我犯了一个错误 Route.php第280行中的ReflectionException: 方法App\Http\Controllers\Signup\u Controllers::guestcheckout()不存在 我怎么了?plz帮助 这是我的route.phpPhp Laravel:方法在控制器中定义,但它表示找不到方法,php,laravel-5,Php,Laravel 5,我使用的是Laravel5.2,下面是我的代码 我犯了一个错误 Route.php第280行中的ReflectionException: 方法App\Http\Controllers\Signup\u Controllers::guestcheckout()不存在 我怎么了?plz帮助 这是我的route.php Route::group(array('prefix' => 'signup'), function() { Route::resource('/register', '
Route::group(array('prefix' => 'signup'), function()
{
Route::resource('/register', 'Signup_controllers@register');
Route::resource('/guestcheckout', 'Signup_controllers@guestcheckout');
Route::resource('/login', 'Signup_controllers@login');
Route::resource('/logout', 'Signup_controllers@logout');
Route::resource('/ajaxCheckCustomerEmailExist', 'Signup_controllers@ajaxCheckCustomerEmailExist');
});
这是我的注册控制器
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Input;
use Symfony\Component\HttpFoundation\File\UploadedFile;
use Symfony\Component\HttpFoundation\Session\Session1;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Redirect;
use Image;
use Session;
use DB;
use Mail;
use App\Http\Models\Frm_mailing_list;
use App\Http\Models\Frm_contactus;
use App\Http\Models\Emailautoresponse;
use App\Http\Models\Adminemail;
use App\Http\Models\Emailsetting;
use App\Http\Models\Product_price;
class Signup_controllers extends Controller
{
public function index(Request $request)
{
}
public function register(Request $request)
{
include(public_path().'/app/Http/Controllers/action/register_controllers.php');
}
public function login(Request $request)
{
include(public_path().'/app/Http/Controllers/action/login_controllers.php');
}
public function logout()
{
Session::flush();
return Redirect::away(url('/login-registration'))->send();
}
public function guestcheckout(Request $request)
{
include(public_path().'/app/Http/Controllers/action/guestcheckout_controllers.php');
}
public function ajaxCheckCustomerEmailExist(Request $request)
{
//Checked By Ranjit
$email=$request->email;
$customerData=array('email'=>$email);
$Customer=new Customer;
$resultCustomer=$Customer->getByAttributesQuery($customerData);
if($resultCustomer['recordCount']>0){
echo "false";
}else{
echo "true";
}
}
}
您不正确地使用了资源控制器。见拉威尔文献
更改:
Route::resource('/guestcheckout', 'Signup_controllers@guestcheckout');
到
对其他路线也要做同样的事情,用post
或get
替换resource
,以满足您的需要
Laravel资源路由将典型的“CRUD”路由分配给
带有一行代码的控制器。你这样称呼它:
Route::resource('photos','PhotoController')代码>
您在控制器中包含控制器,并且您的代码中的一系列错误都会给您带来问题
<>我会考虑阅读文档来理解Laravel是如何工作的 1)这是一个评论。2) 是什么让您认为控制器使用不正确?资源控制器只能分配控制器,而不能在控制器内部分配方法Route::Resource('photos','PhotoController')代码>
Route::post('/guestcheckout', 'Signup_controllers@guestcheckout');
Route::get('/register', 'Signup_controllers@register');