alestro
@alestro

Отношения в Laravel. Как быть?

Можно ли реализовать связь в контексте одной модели. Допустим есть модель Game и таблица platforms нужно организовать связь многие ко многим как можно поместить массив platforms в одноименное свойство модели без создания модели Platforms.
  • Вопрос задан
  • 503 просмотра
Пригласить эксперта
Ответы на вопрос 1
Tesla
@Tesla
Можно сделать что-то вроде этого:
public function platforms() {
	return DB::table('game_platforms')
		->join('platforms', 'platforms.id', '=', 'game_platforms.platform_id')
		->where('game_platforms.game_id', '=', $this->id)
		->get();
}

Но по факту вы будете заниматься дублированием и велосипедированием кода из модели в модель везде, где понадобятся данные из таблицы platforms. К тому же вы теряете ленивую загрузку и еще кучу полезных мелочей Eloquent.
Короче говоря, можно, но нужно ли?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы