Таблица пользователей: имеет zone_id
поле в нем.Laravel - определение правильных отношений
Зоны стола: имеет world_id
Поле в нем.
Каждый пользователь может находиться в одной зоне, например, zone_id = 1
Каждая зона принадлежит одному миру, например - world_id = 5
Мой желаемый результат возвращает пользовательскую зону и информацию о мире.
Это, как я могу сделать это без каких-либо отношений набора:
$zone = Zone::find($user->zone_Id);
$world = World::find($zone->world_id);
$data = $user;
$data['zone'] = $zone;
$data['zone']['world'] = $world;
Мой вопрос есть .. я уверен, что отношения могут быть использованы для более чистого кода, но я не уверен, как установить это вверх.
- Должен ли я придерживаться текущего кода или определять отношения?
- Если ответ для 1 равен , определите отношение, Любая помощь в правильных отношениях между этими 3-мя моделями?
Решение 1:
`public function getZone(Request $request)
{
$token = $request->input('token');
$user = JWTAuth::toUser($token);
// Simplest example using relationships
$userWithZone = User::with('zone.world')->find($user->id); // You'll get the `zone` relationship info here, too
return $userWithZone;
}`
Ошибка: returns "Call to a member function getQuery() on null"
У меня есть ошибка при попытке вашего первым решения, я обновил свой вопрос с информацией – TheUnreal
Смотрите мое обновление. Я потерял «возврат» в отношениях. – tptcat
Я не уверен, что понял вопрос. Можете ли вы обновить свой первоначальный вопрос? – tptcat