正如我从cakephp文档中所理解的那样,'containable'-Behavior的一个优点是,如果你需要更少的数据,它可以获取更少的数据......
但在我的用户和用户组之间的连接中,这似乎不起作用.
我的关联看起来像:
Group
hasMany: Membership
User
hasMany: Membership
Membership
belongsTo: User, Group
Run Code Online (Sandbox Code Playgroud)
(我没有使用HABTM,而是使用两者之间的模型'Membership'来加入用户和组).
所有模型都实现了"可包含"行为.
现在我希望获得具有特定ID的组的所有成员,只有他们的ID和邮件地址.我的查询是这样构建的:
$members = $this->Membership->find('all', array(
'conditions' => array(
'group_id' => $id
),
'contain' => array(
'User' => array(
'fields' => array('id', 'fullName')
),
)
));
Run Code Online (Sandbox Code Playgroud)
但结果数组看起来像:
array(
(int) 0 => array(
'Membership' => array(
'id' => '1',
'group_id' => '1',
'user_id' => '1',
'role' => 'member'
),
'Group' => array(
'id' => '1',
'name' => 'Foo Group'
),
'User' => array(
'password' => '*****',
'id' …Run Code Online (Sandbox Code Playgroud)