vhuk1802
@vhuk1802

Как правильно построить отношения?

есть связь между таблицами
return $this->hasManyThrough(
			Catalog_generation::class,
			Catalog_generation_body::class,
			'catalog_body_id',
			'id',
			'id',
			'catalog_generation_id'
		)->select([
			"catalog_generations.id",
			"catalog_generations.catalog_model_id",
			"catalog_generation_bodies.catalog_body_id",
		])
			->with(['model.brand']);


у with отношения Catalog_generation к другим таблицам, мне нужно использовать в том же самом width отношения из Catalog_generation_body
Вопрос: как решить такую задачу?
  • Вопрос задан
  • 126 просмотров
Пригласить эксперта
Ответы на вопрос 1
@jazzus
Автор, реально сложно понять, что вы задумали. Но я бы поменял наименования. Модели именуются, как ModelModel. Таблицы к моделям model_models. Иначе легко запутаться. Особенно с hasManyThrough. Также отношения отдельно, БД запросы на основе отношений – отдельно т.к. отношения вам могут пригодиться в других запросах. Что касается отношения можете попробовать так (если я не перепутал)
return $this->hasManyThrough(
                        Catalog_generation::class,
                        Catalog_generation_body::class,
                        'current_model_id', //Внеший ключ текущей модели в Catalog_generation_body
                        'catalog_generation_body_id', // Внешний в Catalog_generation
                        'id' // Локальнй в текущей модели
                      )

Текущая модель - это модель в которой вы строите данные отношения..)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы