Laravel 5急切加载可变模型

时间:2015-12-11 19:37:28

标签: laravel laravel-5 eloquent

我正在尝试加载由变量类名定义的关系。这是这样的:

class Dashboard extends Model {
    public function modules(){
        return $this->belongsToMany('App\Module');
    }
}

class Module extends Model {
    public function model(){
        return $this->hasOne($this->model_class);
    }
}

所以"模型" attribute是类$this->model_class

的模型

当我有一个Module对象并调用

$this->model

我得到了预期的结果。但是当我尝试做的时候

$dashboard->modules()->with('model')->get()

我收到此错误:'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Class name must be a valid object or a string'。我假设发生了这种情况,因为在实例化Module类之前,没有model_class属性,因此它无法急于加载模型。在这种情况下如何使用预先加载?谢谢。

0 个答案:

没有答案
相关问题