Как мне написать это второе отношение к той же модели в Laravel?Php

Кемеровские программисты php общаются здесь
Гость
Как мне написать это второе отношение к той же модели в Laravel?

Сообщение Гость »


У меня есть две модели: «Пользователь» и «Сообщество». Пользователь может принадлежать ко многим сообществам, а в сообществе может быть много пользователей. Для этого я реализовал связь «многие ко многим» в обеих моделях, а затем создал сводную таблицу communis_users. В модели сообщества у меня определены отношения пользователей (членов):

публичная функция пользователей(){ return $this->belongsToMany('App\User', 'communities_users', 'community_id', 'user_id'); } В модели пользователя у меня есть отношения с сообществами, определенные как:

сообщества публичной функции(){ return $this->belongsToMany('App\Community', 'communities_users', 'user_id', 'community_id'); } Я могу назвать эти отношения прекрасными. Без проблем. Однако мне нужно добавить admin_id в таблицу сообществ, представляющий пользователя, создавшего сообщество (указывающий на ту же модель пользователя). Я знаю, что это будут отношения «ownsTo» в модели «Сообщество» и отношения «hasMany» в модели «Пользователь». Я добавил столбец admin_id в таблицу сообществ. В мою модель сообщества я добавил свою модель администратора следующим образом;

публичная функция admin(){ return $this->belongsTo('App\User', 'admin_id'); } Если я попытаюсь вернуть это, приложение продолжает ломаться с ошибкой 500 Internal server. Как я могу это исправить и заставить его возвращать объект пользователя, создавший сообщество?

Вернуться в «Php»