Php Laravel-从控制器调用模型查找错误的文件名

Php Laravel-从控制器调用模型查找错误的文件名,php,laravel,model,controller,namespaces,Php,Laravel,Model,Controller,Namespaces,我想这可能是我不理解的惯例 我在主应用程序文件夹中有一个名为“配料”的模型 namespace App; use Illuminate\Database\Eloquent\Model; class Ingredient extends Model { protected $table = "ingredients"; } 然后我有一个控制器试图调用该应用程序 namespace App\Http\Controllers; use Illuminate\Http\Request;

我想这可能是我不理解的惯例

我在主应用程序文件夹中有一个名为“配料”的模型

namespace App;

use Illuminate\Database\Eloquent\Model;

class Ingredient extends Model
{
    protected $table = "ingredients";
}
然后我有一个控制器试图调用该应用程序

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Config;
use App\Ingredient;

class IngredientController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        return response()
            ->json([
                'status' => 'ok',
                'ingredients' => Ingredient::all()
            ]);
    }
}
一切似乎都很好。但我收到一个500服务器错误:

include(C:\\Dev\\ScratchApi\\vendor\\composer\/..\/..\/app\/Ingredients.php): failed to open stream: No such file or directory
模型的文件名是
component.php


我是否需要将文件重命名为components.php以满足命名约定?或者,为什么这试图调用与我告诉它要查找的类名不同的文件名?

我认为这是因为自动加载缓存。因此,在项目根目录上运行以下命令

composer dumpautoload

希望它能工作。

我想这是因为自动加载缓存。因此,在项目根目录上运行以下命令

composer dumpautoload
希望它能起作用。

尝试使用以下方法:

composer dump-autoload
尝试使用以下方法:

composer dump-autoload
运行转储自动加载时添加选项“-o”

composer dump-autoload -o
运行转储自动加载时添加选项“-o”

composer dump-autoload -o

尝试清除缓存并更新composer.make使用php artisan make:model ModelName-m。使用此命令时,无需提及表名。请确保您的模型名为Singular,并尝试清除缓存并更新composer.Make使用php artisan Make:model ModelName-m。使用此命令时,无需提及表名。确保你的模型名是Singular,我想就是这个了。再过几分钟,我就可以接受并回答了。我会把这个标记接受的。@Jhorra很高兴帮助你,兄弟。我想就是这个了。再过几分钟,我就可以接受并回答了。我会把这个标记接受的。@Jhorra很高兴帮助你,兄弟。