将我的控制器移动到 laravel 5 中的子文件夹后获取控制器不存在

Getting Controller does not exist after moving my controller to sub folder in laravel 5

我在 App/Http/Controller/SeatController.php 中创建了指向 CRUD 控制器的资源完整路径 我在 api.php

的路线

路线::资源('websites', 'SeatController');

我想将所有与 Seat 相关的控制器放在一个目录中。我创建了一个名为 Seat 的目录,并将与 Seat 相关的所有控制器移至该目录。它的路径是:App\Http\Controllers\Seat\SeatController

在更改之前它的路径是:App\Http\Controllers\SeatController

经过上述更改后,我将 Seat 目录名称添加到我的资源完整路径中,例如:

Route::resource('websites', 'Seat\SeatController');

但是当我到达这个控制器时,我收到以下错误消息:

Class App\Http\Controllers\Seat\SeatController does not exist

更新: 我的 SeatController.php 文件是这样的:

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Seat;
use Auth;
use Validator;

class SeatController extends Controller
{

当我将其更改为:

namespace App\Http\Controllers\Seat;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Seat;
use Auth;
use Validator;

class SeatController extends Controller
{

我收到此错误消息:

SeatController.php line 12:
Class 'App\Http\Controllers\Seat\Controller' not found

有人知道如何解决这个问题吗?

Class App\Http\Controllers\Seat\SeatController does not exist

这意味着控制器无法找到 SeatController class。您应该检查以下步骤。希望这对你有用。

首先,您必须检查 SeatController 文件中的 model 调用是否正常。然后检查 SeatController 中的命名空间是否正常。试试下面这样的东西:

namespace App\Http\Controllers\Seat;

use App\Seat; \type your Model name instead of Seat