Laravel 4模型只有在我为类和文件取另一个名称时才有效


Laravel 4 Model only works if i take another name for the class and file

你好,我有一个控制器:

class AddressController extends BaseController {
    public function showIndex()
    {
        $address = Postcode::all();
        return 'hello';
    }

和一个模型(不起作用):

class Postcode extends Eloquent {
    protected $table = 'postcode';
}

但它只适用于其他名称,如:

class Kla extends Eloquent {
    protected $table = 'postcode';  
}

有人知道为什么吗

您已经将根命名空间中的其他名称命名为Postcode。最常见的是数据库迁移。这就是为什么数据库迁移通常应该是一个描述它正在做什么的类名,所以在您的案例中是CreatePostcodeTable

这也是您应该使用名称空间的原因。

只是为了清楚起见,以防您不了解名称空间。你有两个同名的类。composer自动加载器已经找到了它找到的第一个(不是你的模型的)并试图使用它。另一个类上没有静态方法all,所以你得到了一个错误(你应该在问题中粘贴它)。