Laravel 5.2 - объединение через несколько таблиц - PullRequest
0 голосов
/ 15 мая 2018

У меня есть следующие таблицы:

User
    id

Suggestions_For
    id
    user_id
    suggested_account

Suggestions
    id

(User.id = Suggestions_For.user_id)
(Suggestions_For.suggested_account = Suggestions.id)

Если я хочу получить все предложения для пользователя, как это: $ user-> ideas () -> count ()

как можноЯ делаю это?Есть ли способ определить отношение в моей модели, которое проходит через несколько сводных таблиц, чтобы присоединить пользователя к предложениям?

Я пробовал с:

public function suggestions()
{
    return $this->hasManyThrough('App\Suggestions', 'App\Suggestions_For', 'suggested_account', 'id');
}

, но, похоже, не работает

1 Ответ

0 голосов
/ 15 мая 2018

Вы можете определить свои отношения как ManyToMany, используя сводную таблицу suggestions_for как

Модель пользователя

public function suggestions()
{
    return $this->belongsToMany(Suggestions::class, 'suggestions_for', 'user_id')
}

Предложения Модель

public function users()
{
    return $this->belongsToMany(User::class, 'suggestions_for', 'suggested_account ')
}
...