1

2 人のユーザーが共通のグループを共有しているかどうかを判断する必要がある Vapor 3 アプリがあります。

したがって、ユーザーとグループの2つのモデルがあります。ユーザーは多くのグループに所属できます。しかし、両方のユーザーが共通のグループを共有している場合、お互いにメッセージを送信できるという許可チェックがあります。

final public class User: PostgreSQLModel {
    public var id: Int?
    var firstName: String
    var lastName: String
}

extension User {
    var containers: Siblings<User, Group, UserGroups> {
        return siblings()
    }
}

final public class Group: PostgreSQLModel {
    public var id: Int?
    var name: String
}

私がやりたいことはこれです

UserGroups.query(to: request).group(.or) { $0.filter(\.userId == user.id!).filter(\.userId == user.id!) }.flatMap { ... }

さらに、where groupId == groupId というフィルターを追加します。

何か考えや提案はありますか?

4

1 に答える 1