我有下一个问题。包含行为,条件和空阵列
有部分代码:
$result = $this->find('all', array(
'contain' => array(
'User' => array(
'fields' => 'id',
'conditions' => array(
'id' => $user_id
)
)
),
'fields' => 'url'
));
这一发现()调用项目模型类的方法,我想只获得项目中User.id等于传递给我的方法,一些用户ID。 用户HABTM项目和项目HABTM用户。
但执行后,我有下:
app/views/projects/index.ctp (line 1)
Array
(
[0] => Array
(
[Project] => Array
(
[url] => http://purpled.biz
[id] => 1
)
[User] => Array
(
[0] => Array
(
[id] => 4
[ProjectsUser] => Array
(
[user_id] => 4
[project_id] => 1
[projects_users_role_id] => 0
)
)
)
)
[1] => Array
(
[Project] => Array
(
[url] => http://google.com
[id] => 2
)
[User] => Array
(
[0] => Array
(
[id] => 4
[ProjectsUser] => Array
(
[user_id] => 4
[project_id] => 2
[projects_users_role_id] => 0
)
)
)
)
[2] => Array
(
[Project] => Array
(
[url] => http://test.com
[id] => 3
)
[User] => Array
(
)
)
)
正如你看到有空[用户]数组最后一个数组,所以我怎么能排除这种空数组(全[2]数组我的意思)没有使用foreach/if块?我知道使用bindModel会尽一切努力,但这不适合我的问题;)那么,如何?
谢谢!因此,我使用unbindModel/bindModel来创建连接并包含结果数组过滤。 – purple 2010-12-12 19:55:38