Laravel morphMany列出错误(在非对象上调用成员函数addEagerConstraints())

时间:2014-08-15 08:41:33

标签: laravel laravel-4 eloquent

我在将morphMany关系与模型中的列表结合使用时遇到问题。 我有一个Meta模型(morphMany)和一个度假模型。 Resort模型有一个方法metas()就是这样做的: return $this->morphMany('Meta', 'metable');

public function metas()
{ 
    return $this->morphMany('Meta', 'metable')->lists('value', 'key');
}

现在我想拥有的是一个键/值列表,就像我可以使用hasMany一样: return $this->morphMany('Meta', 'metable')->lists('value', 'key'); 但这不起作用。如果我在不同的表上使用相同的hasMany,它工作正常,所以我假设hasMany和morphMany在对象结构方面必须有区别。

我得到的错误是:

  

在非对象上调用成员函数addEagerConstraints()[/ vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php,第471行](Laravel 4.2.8)

表格结构:

Schema::create('meta', function(Blueprint $table) {
    $table->increments('id');
    $table->integer('metable_id')->unsigned();
    $table->string('metable_type', 255);
    $table->string('key', 128);
    $table->text('value');

    $table->index('metable_id');
    $table->index('key');
});

我希望你们中的任何人都可以帮我解决这个问题。

提前多多感谢。

0 个答案:

没有答案