-1

我找不到定义关系的方法。这是我之前的问题,您可以查看它以找到我正在寻找的内容:PHP/Laravel/Bootsrap fetch data

我已经为这样的技能定义了关系:

public function skills()
{
    return $this->hasMany('Skill', 'player_skills', 'skillid', 'player_id');
}

仍然得到 Undefined property: Illuminate\Database\Eloquent\Collection::$players错误指向$skills->players as $player

4

1 回答 1

0

首先,使用该hasMany函数,您正在设置一对多关系,但看起来您正在向它发送数据透视表的名称作为参数,这仅在多对多时需要.

我将假设您实际上想要多对多关系并且您的密钥是正确的(它们在您链接的问题中,但skillid在这里有所不同,所以让我们一起去吧skill_id

此外,您循环数据的方式是错误的。$players->skills没有任何意义,因为$players没有skills,但是$player有。

这是我到目前为止所拥有的...... http://paste.laravel.com/Jp8

根据您提供的最新信息,我认为 Laravel 中的多对多关系如何运作可能会有些混乱。当你有机会时请检查一下,它应该非常接近你正在寻找的...... http://paste.laravel.com/JqV

于 2013-08-14T15:10:06.223 回答