Хорошо у меня есть эти три таблицыLaravel Eloquent: Whereor массив присоединяется
users table:
id(int), name(varchar(20)), password(varchar(64)), created_at, updated_at
friends table:
id(int), targetID(int), ownerID(int), created_at, updated_at
posts table:
id(int), content(varchar(255)), ownerID(int), created_at, updated_at
Я хочу запросить сообщения, сделанные пользователем сам, а также его друзей.
В этом случае, идент 1, который является Джон
Users table data
1, John, xxxx, xxxx, xxxx
2, Mary, xxxx, xxxx, xxxx
3, Micheal, xxxx, xxxx, xxxx
4, Rick, xxxx, xxxx, xxxx
5, Sarah, xxxx, xxxx, xxxx
Friends table data
1, 2, 1, xxxx, xxxx
1, 3, 1, xxxx, xxxx
1, 4, 1, xxxx, xxxx
Posts table data
1, "Hi everyone", 1, xxxx, xxxx
2, "Good Morning", 1, xxxx, xxxx
3, "Welcome to our site", 2, xxxx, xxxx
4, "Quite a few members", 3, xxxx, xxxx
5, "haha", 5, xxxx, xxxx
Как видно из приведенной выше ситуации, наш пользователь, Джон дружит с идентификатором 2,3,4, который Мэри, Мичил и Рик.
Я хочу запросить результаты, чтобы показать сообщения, сделанные Джоном и его друзьями, путем создания по возрастанию. Разумеется, внутренняя связь с таблицей пользователей будет получена, чтобы получить имя пользователя на основе идентификатора.
Я не уверен, как работают вложенные запросы Eloquent, так как я ожидаю, что это будет иметь ownerid = несколько пользователей, так как у пользователя есть много друзей, которые могут создавать сообщения.