как сделать связь между двумя таблицами в Laravel - PullRequest
0 голосов
/ 16 сентября 2018

img 1

img 2

img 3

Я получил 3 таблицы какфотографии,

site_notifications

site_users

site__users__notifactions

Я хочу установить отношения, поэтому я показываю детали уведомления определенного пользователя

Я пытался

public function notification()
{
return $this->hasManyThrough('App\SiteNotification', 'App\Site_Users_Notifaction', 'id', 'user_id');
}

, но это дает мне ноль

1 Ответ

0 голосов
/ 16 сентября 2018

Это не так. Вы должны использовать Отношения ко многим * Многие

Ваше имя таблицы должно быть:

  1. Пользователи
  2. notifactions
  3. notifaction_user

Ваше название модели должно быть:

  1. Пользователь
  2. Notifaction

Затем в User классе:

class User extends Model
{
    public function notifactions()
    {
        return $this->belongsToMany(Notifaction::class);
    }
}

Затем в Notifaction классе:

class Notifaction extends Model
{
    public function users()
    {
        return $this->belongsToMany(User::class);
    }
}

Тогда вы можете запросить вот так:

$user = App\User::find(1);

foreach ($user->notifactions as $notifaction) {
    //
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...