1

首先请温柔,我是一个初学者,我只是为了练习而编码。

我尝试将实例传递给模型,但我总是收到此错误

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);
    }
4

1 回答 1

3

该类File是 Laravel Facades 之一,这意味着您不需要将其传递到模型构造中。

你可以在 Laravel 的任何地方使用File::someMethod(). 如果您使用命名空间,那么您必须通过根命名空间进行访问\File::someMethod()

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

在此处查看有关文件系统的文档http://laravel.com/api/class-Illuminate.Filesystem.Filesystem.html

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

于 2013-11-08T13:56:37.393 回答