找不到“App \ Http \ Controllers \ Restaurant”类

时间:2015-09-21 17:02:12

标签: php mysql laravel

我正面临这个问题,我想将数据插入餐馆,但它仍然显示错误

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(); 
    }

2 个答案:

答案 0 :(得分:1)

您正在尝试使用do.call(pmax)模型。模型通常位于Restaurant命名空间下。

要使用App模式,您必须将其写在控制器的顶部:

Restaurant

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

希望这能帮到你!

答案 1 :(得分:0)

更好的解决方案是使用composer classmap。当composer加载类映射时,该文件夹中的所有类都是自动加载的。只需键入提示类名称,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(); 
}

希望这有帮助。