2013-08-14 8 views
-1

Я не могу найти способ определения отношений. Вот мой предыдущий вопрос, вы можете просмотреть его, чтобы найти то, что я ищу: PHP/Laravel/Bootsrap fetch dataLaravel 4 отношения

Я определил отношение к навыкам, как это:

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

все еще получаю ошибку U ndefined property: Illuminate\Database\Eloquent\Collection::$players указывая на $skills->players as $player.

+0

Можете ли вы выслать код, за который вы получаете ошибку? код, который вы опубликовали, не имеет ничего общего с ошибкой –

+0

@TryingTobemyself http://paste.laravel.com/JoD – dinomuharemagic

+0

откуда вы получаете '$ skills'? код модели? –

ответ

0

Прежде всего, с помощью функции hasMany вы настраиваете отношения «один ко многим», но похоже, что вы отправляете ему имя сводной таблицы в качестве параметра, который требуется только для многие-ко-многим.

Я предполагаю, что вы на самом деле хотите отношения многие ко многим, и ваши ключи являются правильными (они в этом вопросе вы связаны между собой, но skillid отличается здесь, так что давайте идти с skill_id)

Кроме того, то, как вы перебираете данные, неверно. $players->skills не имеет никакого смысла, потому что $players не имеет skills, но $player.

Вот то, что я до сих пор ... http://paste.laravel.com/Jp8

С новейшей информации, которую вы дали, я думаю, что там может быть некоторая путаница относительно того, как многие-ко-многим работает в Laravel. Пожалуйста, проверьте это, когда у вас есть шанс, он должен быть близок к тому, что вы ищете ... http://paste.laravel.com/JqV

+0

Я получаю сообщение об ошибке: http://paste.laravel.com/Jrh «игроки» - отдельный стол, «player_skills» - отдельная таблица. – dinomuharemagic

+0

Я думаю, что проблема в том, что вам нужна дополнительная таблица для настройки стержня. Я изменил пасту, чтобы сделать некоторые дополнительные объяснения и изменил некоторые параметры, чтобы точно соответствовать вашим потребностям. Надеюсь, это поможет ... http://paste.laravel.com/JrP – user1669496

+0

ошибка, опять же: http://paste.laravel.com/JtK – dinomuharemagic

Смежные вопросы