Таблица отношения 3 (laravel 5.7)

У меня есть 3 таблицы, подобные этому изображению. Я хочу получить питомца с указанием расы и получить владельца этого питомца. Как получить все три рекорда от домашних животных.

Таблица отношения 3 (laravel 5.7)

Я попробовал

Pets :: find ($ id) -> races () -> with (users) -> get ();

public function users()
{
    return $this->hasMany('App\User', 'id');
}

public function races()
{
    return $this->hasMany('App\Races', 'id', 'id');
}

Спасибо за помощь

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
583
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

если у вас есть модель домашних животных, вы должны добавить принадлежность пользователю, а также принадлежность к pets_reces в ней

и попробуйте Pets::find($id)->races; или Pets::find($id)->users;

Другой способ - получить идентификатор пользователя или идентификатор расы, а затем получить из него всех питомцев без создания модели для домашних животных, чтобы вы могли добавить принадлежность ко многим пользователям и расам.

задайте вопрос решенным и установите ответ как лучший или оцените - оцените его @Unmecparla

Taif Raoof 14.09.2018 20:15
Ответ принят как подходящий

Обычно, когда у вас есть [что-то] _id, он указывает строку принадлежит на другую строку.

Измените отношения в вашей модели Pets, чтобы они были:

public function user()
{
    return $this->belongsTo('App\User');
}

public function race()
{
    return $this->belongsTo('App\Races');
}

Затем, чтобы получить user и race, вы можете:

Pets::with('user', 'race')->find($id);

или, поскольку здесь загружается только один Pet, вы можете просто сделать:

$pet = Pets::find($id);

и у вас в любом случае будет доступ к $pet->user и $pet->race.

Другие вопросы по теме