Привет со своего веб-сайта. Я отправляю пользователям несколько уведомлений, назначаю пользователей в группу, а затем назначаю эту команду в таблицу уведомлений.
Однако, когда я делаю SiteNotification::find(1)->notifications()
, тогда я получаю название команды, однако я искал модель пользователя и все детали, связанные с этим. Есть ли простой способ получить это, используя отношения Laravel Eloquent?
Моя модель БД и модель Eloquent ниже;
таблицы БД;
Пользователь
id | username | email
Команда
id | name |
Члены команды
team_id | user_id
Уведомления сайта
site_notification_id | team_id
Модель здесь:
class SiteNotification extends Model {
public function notifications()
{
return $this->belongsToMany(Team::class, 'site_check_notifications', 'site_check_id', 'team_id');
}
}
Обновление:
Я попытался обновить модель команды следующим образом;
class Team extends Model
{
public function users()
{
return $this->hasManyThrough(
User::class,
TeamMember::class,
'team_id',
'id'
);
}
}
Однако при выполнении этого выдается следующее сообщение об ошибке;
$site = Site::find(1);
foreach( $site->notifications as $notification) {
dd($notification->users);
}
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'team_members.id' in 'on clause' (SQL: select `users`.*, `team_members`.`team_id` from `users` inner join `team_members` on `team_members`.`id` = `users`.`id` where `team_members`.`team_id` = 4)
Есть идеи, что я делаю не так?