繁体   English   中英

Laravel名称间距问题

[英]Laravel name spacing issue

我在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:all()应该使用Product模型。 我的名字间距正确吗? ProductRespository位于名为API的文件夹中。

在名称空间中时,请始终在根名称空间中的任何类前加一个\\

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

或者,您可以在文件中use该类:

<?php namespace API;

use Product;

class ProductRepository implements ProductRepositoryInterface {

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

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM