Модель Laravel Eloquent Pivot - PullRequest
       6

Модель Laravel Eloquent Pivot

0 голосов
/ 05 апреля 2019

У меня проблема с красноречием.

У меня есть 3 таблицы: members, subscriptions и сводная таблица для связи «многие ко многим» между участниками и подписками: member_subscription.

У меня есть еще одна таблица, связанная с member_subscription, с проверкой подписки на членство.

Что мне нужно, так это определить отношения между member_subscription и check-ins. Я читал что-то о пользовательской модели для сводной таблицы, как мне этого добиться?

1 Ответ

0 голосов
/ 05 апреля 2019

Вы можете создать модель для member_subscription. Затем, когда вы запрашиваете связь между members и subscriptions, вы можете использовать функцию using.

В модели Member:

public function subscriptions()
{
    return $this->belongsToMany('App\Subscription')->using('App\MemberSubscription');
}

В модели подписки:

public function members()
{
    return $this->belongsToMany('App\Member')->using('App\MemberSubscription');
}

Теперь в вашей MemberSubscription модели определите отношение к проверкам:

public function checkins()
{
    return $this->hasMany('App\Checkins');
}

Теперь вы можете делать такие вещи, как:

$member->subscriptions()->first()->pivot; // Returns a MemberSubscription model
$member->subscriptions()->first()->pivot->checkins;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...