Laravel名称间距问题

时间:2014-01-26 19:13:49

标签: php laravel namespaces

我在Laravel中使用IoC容器,我试图从我的数据库中获取所有数据

<?php namespace API;

class ProductRepository implements ProductRepositoryInterface {

  public function getProducts()
  {
    return Product::all();
  }

}

当我运行此操作时,我收到此错误

Symfony \ Component \ Debug \ Exception \ FatalErrorException
Class 'API\Product' not found

我猜它正在尝试在我命名空间的API文件夹中找到Product模型。我的问题是如何让我的应用程序知道Product:all()应该使用产品模型。我的名字间距是否正确? ProductRespository位于名为API的文件夹中。

1 个答案:

答案 0 :(得分:1)

在命名空间中,始终将\添加到根命名空间中的任何类:

public function getProducts()
{
     return \Product::all();
}

或者,您可以use文件中的课程:

<?php namespace API;

use Product;

class ProductRepository implements ProductRepositoryInterface {

    public function getProducts()
    {
        return Product::all();
    }

}