У меня есть 3 таблицы, подобные этому изображению. Я хочу получить питомца с указанием расы и получить владельца этого питомца. Как получить все три рекорда от домашних животных.
Я попробовал
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');
}
Спасибо за помощь






если у вас есть модель домашних животных, вы должны добавить принадлежность пользователю, а также принадлежность к pets_reces в ней
и попробуйте Pets::find($id)->races;
или Pets::find($id)->users;
Другой способ - получить идентификатор пользователя или идентификатор расы, а затем получить из него всех питомцев без создания модели для домашних животных, чтобы вы могли добавить принадлежность ко многим пользователям и расам.
Обычно, когда у вас есть [что-то] _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.
задайте вопрос решенным и установите ответ как лучший или оцените - оцените его @Unmecparla