от
У меня есть три модели, которые я упростил для примера (пользователь делает запрос на получение телефона):
User
Я бы авторизоваться
Request
Я бы Идентификатор пользователя phone_id
Phone
Я бы название Отношения ниже: В модели пользователя:
public function requests()
{
    return $this

В модели телефона:

public function phoneRequests()
{
    return $this

Мне нужно получить коллекцию, где я начинаю с модели User, и я получаю все запрошенные телефоны (мне нужно там имя). Проблема в том, что phone_id находится в модели запросов, а в документации все наоборот.

Я не могу найти никаких отношений, чтобы достичь своей цели.

В идеале было бы пройти через следующее соотношение:

Auth::user()

Я также пытался сделать это с помощью необработанного SQL-запроса, но я бы предпочел использовать отношения. Как это сделать?
    

        

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

2 Ответы

0 голосов
от
В вашей модели
Requests
должны быть телефонные отношения, например:
public function phone()
{
    return $this

Так что теперь вы можете получать все запросы с телефона для пользователя следующим образом:

$user

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

В вашей модели Phone
вы должны иметь это:
public function requests()
{
    return $this

Потому что телефон может принадлежать многим запросам согласно структуре вашей БД.
    
0 голосов
от
Благодаря комментарию newUserName02, решение моего вопроса:
/**
 * Returns all requests made by this client
 * @return Collection
 */
public function requests()
{
    return $this

Кроме того, я приглашаю вас ознакомиться с этой замечательной статьей (на французском языке), которая хорошо объясняет отношения со схемами.
    
...