【发布时间】:2011-05-22 22:01:40
【问题描述】:
我有下一个问题。
有部分代码:
$result = $this->find('all', array(
'contain' => array(
'User' => array(
'fields' => 'id',
'conditions' => array(
'id' => $user_id
)
)
),
'fields' => 'url'
));
这个 find() 在 Project 模型类的方法中调用,我只想检索 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
(
)
)
)
如您所见,最后一个数组带有空 [User] 数组,那么如何在不使用 foreach/if 块的情况下排除这个空数组(我的意思是整个 [2] 数组)?我知道使用 bindModel 也可以,但这不是我的问题;)那么,如何?
【问题讨论】:
标签: cakephp model behavior contains