我在将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');
});

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

非常感谢提前 .