У меня есть три Модели (Организация, Пользователь, Посещение) и 4 таблицы (организации, пользователи, организация_узлер, посещения). Я пытаюсь получить общее количество посещений пользователей для организации.Laravel: Сложная Красноречивая связь - hasManyThrough или принадлежит ToMany подход?
Organization
------------
id,
name
User
---------
id,
name
Organization_User
----------------
id,
organization_id,
user_id
Visit
--------------
id,
user_id
views
Просто чтобы прояснить, нет никакой модели Organization_User, то есть только в сводной таблице, используемый пользователем и организации:
$organization->belongsToMany('User');
$user->belongsToMany('Organization');
Я мог бы запросить все user_ids из сводной таблицы по group_id и затем получите все посещения для каждого user_id, но чем больше Eloquent-подход?
Пользователь имеет несколько посещений и посещение принадлежит пользователю. Посещение не относится к Организации.
Я не вижу никакой связи между посетителем и пользователем, и у пользователя может быть много организаций - как вы определяете, к какой организации относится запись посещения? Или должен ли визит, связанный с пользователем A, подсчитываться для всех организаций, к которым принадлежит этот пользователь? –
Пользователь hasMany посещений и посещение принадлежит пользователю. Посещение не принадлежит Организации, а только Пользователю. То, что я пытаюсь сделать, это получить общее количество посещений пользователями в Организации. – askilondz
Вы считаете, что добавить 'visit_amount' в' Organization_User'? –