Laravel无法在命名空间中找到类

时间:2015-07-06 13:19:11

标签: php model eloquent laravel-5

我使用Laravel,我在App / Models

下有一个Model类
<?php
namespace App\Models;

class TodoList extends \Eloquent{
  public function listItems(){
      return $this->hasMany('TodoItem');
  }
}

在我的控制器中,我按如下方式包含了命名空间:

namespace App\Http\Controllers;

...

use App\Models\TodoItem;
use App\Models\TodoList;

class TodoListController extends Controller

我的方法如下:

public function show($id)
{
    $list=TodoList::findOrFail($id);
    return \View::make('todos.show')->with('list', $todo_list);
}

但是当我打电话给我的请求时,我收到错误:

  

TodoListController.php第75行中的FatalErrorException:Class   &#39;应用软件\模型\ TodoList的&#39;找不到

4 个答案:

答案 0 :(得分:1)

我不确定,试试这个:

namespace App\Models;

use Illuminate\Database\Eloquent\Model as Eloquent;
class TodoList extends Eloquent{
  public function listItems(){
      return $this->hasMany('TodoItem');
  }
}

答案 1 :(得分:1)

以下是文档中的代码,但是您的示例。注意使用Model:

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class TodoList extends Model {

    //insert public function listItems() here

}

希望这有用!

答案 2 :(得分:0)

确保该文件位于正确的文件夹中,并且与您要导入的类具有相同的名称标题。

如果文件“TodoList”的标题不是TodoList.php而是Tod​​olist.php,那么Laravel就不会找到它。

根据您的设置,运行“composer dump”可能有助于刷新自动加载文件。

答案 3 :(得分:0)

尝试运行“ composer dump-autoload”。基本上,您的类已被缓存,因此您需要告诉Laravel寻找新添加的类。