使用eloquent访问关系数据时出错

时间:2014-05-13 14:21:17

标签: php orm laravel eloquent

我正在尝试这样做

$this->current_user->company->routes

我期待得到一份基于当前登录用户公司的路线列表。

这是我得到的错误

Symfony \ Component \ Debug \ Exception \ FatalErrorException

Call to undefined method Illuminate\Support\Facades\Route::newQuery()

我知道我从以下两个

获得了正确的信息
$this->current_user

$this->current_user->company

这是我公司的模特

<?php

class Company extends Eloquent
{
protected $guarded = array(
    'id',
    'created_at',
    'updated_at',
);

public static function getDropDownArray()
{
    $return = array();
    $companies = Company::all();

    foreach($companies as &$company)
    {
        $return[$company->id] = $company->title;
    }

    return $return;
}

public function routes()
{
    return $this->hasMany('Route');
}

public function users()
{
    return $this->hasMany('User');
}

public function locations()
{
    return $this->hasMany('Location');
}

public function publications()
{
    return $this->hasMany('Publication');
}

public function racks()
{
    return $this->hasMany('Rack');
}
}

1 个答案:

答案 0 :(得分:2)

您必须已经命名了一个您的Eloquent类Route,这与Laravel的路由别名相冲突。

所以你有两个选择:

1)使用名称空间

2)重命名你的班级