다음 질문이 있습니다.동작, 조건 및 빈 배열
이 코드의 일부입니다 User.id 내 메서드에 전달 일부 사용자 ID와 동일 어디 프로젝트 모델 클래스의 방법이라고
$result = $this->find('all', array(
'contain' => array(
'User' => array(
'fields' => 'id',
'conditions' => array(
'id' => $user_id
)
)
),
'fields' => 'url'
));
이 발견은() 내가 검색하려는 단지 프로젝트. 사용자 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