2010-04-06 3 views
0

내 모델에서 두 개의 개별 테이블을 쿼리하는 함수가 있다고 가정 해 보겠습니다. 내보기에 표시하려면 컨트롤러에 결과를 다시 전달해야합니다.Codeigniter에서 여러 변수/배열을 반환 할 수 있습니까?

MongoDB를 사용하고 있지만 다른 DB와 동일해야합니다. 일반적으로 이것은 작동 할 것입니다.

$files = $grid->find(array("username" => $profile_id, 
        "thumbnail" => array('$ne' => true))); 

$return files; 

하지만 사용자에게 기본 사진이 선택되어 있는지 확인해야합니다. 내가 올바르게 기억, 내가 일반적으로 할 것

$getCount = $grid->count(array("username" => $profile_id, 
        "default" => array('$ne' => true))); 

...

$return array($files, $getCount); 

하지만 작동하지 않습니다.

답변

2

내 기능에서는 다음과 같이 수행했습니다.

$files['data'] = $grid->find(array("username" => $profile_id, 
       "thumbnail" => array('$ne' => true))); 

$files['count'] = $grid->count(array("username" => $profile_id, 
        "default" => array('$ne' => true))); 

$return files; 

제 생각에는 적절하게 데이터를 조작 할 것입니다.

echo $files['count']; 

foreach($files['data'] as $obj) { 
    ... 
} 
0

두 개의 분리 된 모델 함수로 나누었습니다. 나는 하나의 함수로부터 두 개의 분리 된 데이터를 가져 와서 반환하는 것보다 더 깨끗하다고 ​​생각한다.

+0

op가 제안한 솔루션을 구현했지만이 점은 디자인 관점에서 훨씬 명확하고 우수합니다. 왜냐하면 당신이보기에 다음과 같은 것을 가지고 있기 때문입니다 : 여분의 혼란을 야기합니다 .... – skechav

2

그것을 그것 같은 것 당신이 원래 게시물에 원하는 방식으로 수행합니다

$ 반환 배열 ('파일'=> $ 파일을, 'getCount'=> $ getCount) ;

+0

아시겠습니까? 코드 블록을 만들기 위해 일부 코드 앞에 4 칸을 삽입 할 수 있습니다. 큰 코드 블록을 선택하고 코드 샘플 버튼을 클릭하여이 작업을 수행 할 수도 있습니다. ;) – ForceMagic

관련 문제