我正在开发在 CakePHP 2 框架上运行的项目。在这个应用程序中,我有:
楷模:
Wallnote, User, Group
关系:
Group HABTM User
Wallnote HABTM User
Wallnote HABTM Group
表:
wallnotes
- id
- user_id (owner id)
- ...
users_wallnotes
- user_id
- wallnote_id
groups_wallnotes
- group_id
- wallnote_id
groups_users
- group_id
- user_id
我正在使用“Wallnote HABTM 用户”和“Wallnote HABTM 组”关系作为过滤器,即 user_id/group_id(6) wallnote_id(10) 的意思是,ID 为 10 的墙注将分别对 ID 为 6 的用户可见id 为 6 的组中的用户。
我想找到所有符合这些条件的wallnotes:
- 登录的用户是此wallnote 的所有者或
- wallnote 与登录用户共享 -> 在表 users_wallnotes 中记录或
- wallnote 已与某个组共享,并且登录的用户是该组的成员
可以使用 find() 函数来做到这一点吗?
感谢您的回答。