Hellow,我想在cakephp中使用group in within。在下面的例子中,我想在organizationUser数组中只采用不同的组织..
$options = array(
'conditions' => array('User.' .$this->User->primaryKey => $userId),
'contain' => array(
'OrganizationUser'=>array(
'conditions'=>['status'=>3],
'group'=> array( 'OrganizationUser.organization_id')),
'OrganizationUser.Organization',
'OrganizationUser.Organization.Noticeboard',
'OrganizationUser.Organization.Newsboard',
'OrganizationUser.Organization.Noticeboard.Branch',
),
'page'=>$page,
'limit'=>$limit
);
$org = $this->User->find('all', $options);
但这会引发错误,例如“未找到专栏”和“条件”等错误。在OrganizationUser中工作得很好但是' group'不工作。我正在使用cakephp版本2.谢谢。
答案 0 :(得分:2)
我不认为cakephp 2+提供的东西就像你正在做的那样使字段在包含内变得明显。所以最好尝试以下.. 替换:
'group'=> array( 'OrganizationUser.organization_id')
通过
'fields'=> array( 'DISTINCT OrganizationUser.organization_id')
可能适合你。
答案 1 :(得分:0)
就我而言,我使用的是蛋糕版本4 +。
在我的餐桌上我建立的关系
s = df.filter(like='status')
df.join(s.groupby(s.columns.str.split('_').str[0], axis=1)
.max().gt(2000).astype(int)
.add_suffix('_ge2000')
)
我称这种关系为
$this->belongsTo('CreatedOperator')
->setClassName(USERS_PLUGIN . '.Users')
->setForeignKey('created_by')
->setJoinType('INNER')
;