Можно ли вернуть несколько переменных / массивов в Codeigniter? - PullRequest
0 голосов
/ 06 апреля 2010

Допустим, в моей модели у меня есть функция, которая запрашивает две отдельные таблицы. Мне нужно передать результаты обратно в контроллер, чтобы отобразить их в виде.

Я использую MongoDB, но она должна быть такой же для любой другой БД. Обычно это будет работать.

$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);

Не работает, хотя.

Ответы [ 3 ]

2 голосов
/ 07 апреля 2010

Разобрался ... в своей функции я сделал следующее.

$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) {
    ...
}
2 голосов
/ 16 октября 2012

Чтобы сделать это так, как вы хотели в исходном сообщении, было бы что-то вроде:

$ return array ('files' => $ files, 'getCount' => $ getCount);

0 голосов
/ 07 апреля 2010

Я бы разделил его на две отдельные функции модели.Я думаю, что он чище, чем выборка и возврат двух отдельных фрагментов данных из одной функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...