Возврат двух отдельных результатов запроса в рамках функции модели

Моя модель имеет функцию, которая должна запускать 2 разных запроса.

В идеале я бы хотел, чтобы он возвратил 2 разных вара (по одному от каждого запроса), которые будут доступны моему контроллеру.

Очевидно, что код, приведенный ниже, не работает b / c, первый возврат завершает выполнение прямо там. Но как я мог бы сделать что-то, что сгенерировало бы эти два результата в одной и той же функции?

Спасибо за любую помощь / указатель, который вы можете предоставить.

MODEL -- Hypothetical code function ABC() { $query1 = $this->db->query( ... MySQL code #1 here ... ); $data1 = array(); foreach (query1->result() as $row){ $data1[$row->k] = $row->value; return $data1; $query2 = $this->db->query( ... MySQL code #2 here ... ); $data2 = array(); foreach (query2->result() as $row){ $data2[$row->k] = $row->value; return $data2; } 

Вы можете сделать это, как предложено fazo, но ваш дизайн класса / метода, похоже, имеет проблему. Вам будет лучше реорганизовать этот код и вернуть результаты в две разные функции.

 function ABC() { $query1 = $this->db->query( ... MySQL code #1 here ... ); $data = array(); foreach (query1->result() as $row){ $data['query1'][$row->k] = $row->value; $query2 = $this->db->query( ... MySQL code #2 here ... ); $data2 = array(); foreach (query2->result() as $row){ $data['query2'][$row->k] = $row->value; return $data; } 

также см. ответ danip

Получил что-либо против возвращаемого массива ($ data1, $ data2); ?

Затем вы можете использовать список ($ foo, $ bar) = $ baz-> ABC (); в вашем контроллере вы хотите.