我能够从这个原始问题Neo4j gem中进行特定的模式匹配- Preferred method to deal with admin relationship via this
Event.query_as(:event).match("(event)<-[invite:invited]-(user1:User)<-[friends_with:friends_with]-(user2:User)").where('invite.admin = true').pluck(:event)
我无法获得这样的修改版本来工作
current_user.friends.events.query_as(:event).match("(event)<-[invite:invited]-(user:User)").where(invite: {admin: true}).pluck(:event)
所以我真正改变的是我在邀请课程中改变了from_node
and的方向to_node
from_class User
to_class Event
type 'invited'
它以前设置为 fromEvent
到User
。我的一个问题是,为什么我必须改变它才能使查询工作?方向不重要has_many: both
吗?
另一个变化是将我的关系类型更改为小写。在我的模型中,它是用所有小写字母写的,这似乎很重要。我认为两者都会像neo4j那样转换为全大写,但就目前而言,它没有。
我确实认为我需要让 current_user 方法工作,因为我只想要 current_user 朋友的事件。建议?