【问题标题】:Class 'App\Http\Controllers\Restaurant' not found找不到类“App\Http\Controllers\Restaurant”
【发布时间】:2015-12-18 11:33:26
【问题描述】:

我正面临这个问题,我想将数据插入餐厅,但它一直显示错误

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests\FoodRequest; use App\Http\Controllers\Controller;
   public function store(FoodRequest $request)
    { 
        Restaurant  ::create($request->all());
        return redirect()->back(); 
    }

【问题讨论】:

  • 好吧,似乎您的目标不是Restaurant 类,而是其他类。可以use App\Http\Controllers\Restaurant吗?
  • 非常感谢!!!我尝试插入 -> 使用 App\Restaurant;有用 !!并再次感谢您的提醒。我是 Laravel 5 的初学者

标签: php mysql laravel


【解决方案1】:

您正在尝试使用Restaurant 模型。模型通常位于 App 命名空间下。

要使用Restaurant 模式,您必须在控制器的顶部写下:

use App\Restaurant;

如果没有导入,PHP 会自动在同一命名空间中查找具有给定名称的类。您在App\Http\Controllers 中寻找一个名为Restaurant 的类,而实际上它存在于App

希望对你有帮助!

【讨论】:

    【解决方案2】:

    更好的解决方案是使用 composer classmap。当 composer 加载 classmap 时,该文件夹中的所有类都会自动加载。只需输入提示类名,Laravel 就会注入一个新的类实例。

    "autoload": {
        "classmap": [
            "database",
            "app/models" 
        ],
        "psr-4": {
            "App\\": "app/",
        }
    },
    

    运行composer dump-autoload

    要注入模型的新类实例,您有 2 个选项。

    在课堂级别注入。该模型可用于类中的所有方法,如下所示:

    use Restaurant;
    

    或在方法级别,模型仅可用于该方法,如下所示:

    public function store(FoodRequest $request)
    { 
        \Restaurant::create($request->all());
        return redirect()->back(); 
    }
    

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2020-02-02
      • 2016-06-02
      • 2016-05-15
      • 2018-05-02
      • 2017-07-12
      • 2019-04-14
      • 2017-11-29
      • 2017-08-10
      • 2020-04-13
      相关资源
      最近更新 更多