我有以下代码
public function findAccessible(Query $query, array $options){
return $this->findPublic($query, $options)
->union($this->findMyAdmin($query, $options));
}
public function findPublic(Query $query, array $options){
return $query
->where(['public' => true]);
}
public function findMyAdmin(Query $query, array $options){
return $query
->where(['admin_user_id' => $options['User.id']]);
}
findAccessible 调用在 Chrome 中给了我这个错误消息: ERR_EMPTY_RESPONSE 没有其他错误消息,错误日志中没有条目。我确信这是因为工会的呼吁。怎么做?
我想要实现的目标: groups hasAndBelongsTo users groups: id, name, admin_user_id, public
我想组团
1)什么是公共组(这个没问题,findPublic方法)
2)其中 admin_user 是给定的用户(这没关系,findMyAdmin 方法)
3)在给定用户是成员的地方(这没关系,我可以用另一个 find()->matching 调用来做到这一点)
4)用户可以访问的,例如。公共或给定用户是管理员或成员 - 意思是 1)、2) 和 3) 的联合 - 这就是我正在努力的问题。如果我将所有这些都放在一个查找方法中,我将无法为成员资格定义 OR 关系,因为这是通过匹配翻译成内部连接的内容来完成的。