Laravel在模型中获取实例

时间:2013-11-08 13:42:41

标签: php laravel laravel-4 instance

首先请温柔我是初学者,我只是练习编码。

我尝试将一个实例传递给模型,但我总是得到这个错误

Argument 1 passed to Store::__construct() must be an instance of Illuminate\Filesystem\Filesystem, none given

我的模特

<?php

use Illuminate\Filesystem\Filesystem as File;

class Store extends Eloquent
{
    public $timestamps = false;

    public function __construct(File $file)
    {
        $this->file = $file;
    }

}

可以请有人告诉我我做错了吗?

谢谢

修改

我只是在我的控制器中使用了这样的

public function index()
    {
        $store = new Store;
        return View::make('store', $store);
    }

1 个答案:

答案 0 :(得分:3)

File类是Laravels Facades之一,这意味着您无需将其传递给模型构造。

您可以使用File::someMethod()从Laravel的任何位置访问它。如果使用名称空间,则必须通过根名称空间\File::someMethod()进行访问。

store视图中,您可以使用上述方法直接访问File外观。

在这里查看文件系统上的文档http://laravel.com/api/class-Illuminate.Filesystem.Filesystem.html

因此,您可以使用File::copy()而无需实例化一个类,因为它是从静态方法调用的。