Laravel 5.3 在 null 时调用成员函数 groupBy()

Laravel 5.3 Call to a member function groupBy() on null

我收到以下错误:

FatalErrorException in EloquentVehicle.php line 30: Call to a member function groupBy() on null

我有以下代码:

<?php

namespace App\Project\Frontend\Repo\Vehicle;

use Illuminate\Database\Eloquent\Model;

class EloquentVehicle implements VehicleInterface
{
    protected $vehicle;

    /**
     * EloquentVehicle constructor.
     *
     * @param Model $vehicle
     */
    public function __construct(
        Model $vehicle
    )
    {
        $this->$vehicle = $vehicle;
    }

    /**
     * Fetch unique makes
     *
     * @return mixed
     */
    public function fetchMakes()
    {
        return $this->vehicle->groupBy(array('make'))
            ->orderBy('make', 'asc')
            ->get();
    }
}

我已经检查了 Illuminate\Database\Eloquent\Model 中显然不存在的方法,但我不知道应该向我的 class 添加什么以便我可以使用 groupBy 方法。 laravel 文档说该方法存在。

更新: 显然我无法输入摘要 class。我不知道我还应该如何使用 Eloquent 来检索记录。如果有帮助,下面是我将 classes 注册到服务容器

的代码
<?php

namespace App\Providers;

use App\Vehicle;
use App\Project\Frontend\Repo\Vehicle\EloquentVehicle;
use Illuminate\Support\ServiceProvider;

class RepoServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap the application services.
     *
     * @return void
     */
    public function boot()
    {
        //
    }

    /**
     * Register the application services.
     *
     * @return void
     */
    public function register()
    {
        $this->app->bind('App\Project\Frontend\Repo\Vehicle\VehicleInterface', function($app)
        {
            return new EloquentVehicle(
                new Vehicle
            );
        });
    }
}

我刚刚发现了我的错误,并且毫不夸张地将我的脸埋在了我的手掌中。

这个

$this->$vehicle = $vehicle;

应该是这个

$this->vehicle = $vehicle;