ReflectionException Class App\Http\Controllers\AdminBookingsController 不存在 Laravel-5

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/31702238/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-14 12:04:52  来源:igfitidea点击:

ReflectionException Class App\Http\Controllers\AdminBookingsController does not exist Laravel-5

phpjqueryajaxlaravellaravel-5

提问by V4n1ll4

I'm trying to load a calendar on my page using AJAX/Laravel-5. The URL the AJAX is posting to exists in my routes.phpfile. However for some reason I keep getting the following error:

我正在尝试使用 AJAX/Laravel-5 在我的页面上加载日历。AJAX 发布到的 URL 存在于我的routes.php文件中。但是由于某种原因,我不断收到以下错误:

Class App\Http\Controllers\AdminBookingsController does not exist

Class App\Http\Controllers\AdminBookingsController does not exist

My jQuery call:

我的 jQuery 调用:

(function($){
    $.fn.initCalendar = function(token,month,location) {
        $('#calendar-overlay-wrap').html('');
        $.ajax({
            url: '/admin/reports/bookings/butchers',
            type: 'post',
            data: { 
                _token: token,
                month: month,
                location_id: location
            },
            dataType: 'json',
            success: function(json) {
                if(json['error']) {
                    $('#calendar-overlay-wrap').html(json['msg']);
                }
                $('#calendar').html(json['calendar']);
            }
        });
    }
})(jQuery);

$(document).ready(function() {
    $.fn.initCalendar(
        $('input[name=_token]').val(),
        $('#month').val(),
        $('#location_id').val()
    );
});

My routes.php file:

我的 routes.php 文件:

Route::post('admin/reports/bookings/butchers', 'AdminBookingsController@genButchersReport');

My controller file:

我的控制器文件:

<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Booking;
use App\Location;
use App\ClassType;
use App\Classes;
use App\Http\Requests\BookingSearchRequest;
use App\Http\Requests\UpdateBookingRequest;
use App\Http\Requests\BookingReportAccountsRequest;
use Response;
use Excel;
use DB;

class AdminBookingsController extends Controller
{
    /**
     * Generate booking report for butchers.
     *
     * @return Response
     */
    public function genButchersReport()
    {
        echo "Hi!...";exit;
    }
}

I have tried running composer dump-autoloadbut this does not seem to have any effect on the error.

我试过运行,composer dump-autoload但这似乎对错误没有任何影响。

Please help.

请帮忙。

采纳答案by V4n1ll4

I managed to resolve this as my controller was inside a sub folder. I changed my route and now it works.

我设法解决了这个问题,因为我的控制器在一个子文件夹中。我改变了我的路线,现在它起作用了。

Route::post('admin/reports/bookings/butchers', 'Admin\AdminBookingsController@genButchersReport');

回答by Arthur Tarasov

This error popped up for me when I accidentally typed return = $variablenameinstead of return $variablenamein one of my controller files. Maybe it will help somebody.

当我不小心输入return = $variablename而不是return $variablename在我的控制器文件之一中输入时,会出现此错误。也许它会帮助某人。