Codeigniter 2.1,PHP - 将两个功能合二为一

时间:2012-11-27 21:04:37

标签: php codeigniter codeigniter-2

我有以下两个功能,我想知道,有什么方法可以将它们组合成一个。

function galerija_get_all(){
$q = $this->db->get('galerija');
return $q = $q->result_array();
}

function galerija_get_all_slike(){
$q = $this->db->get('slike');
return $q = $q->result_array();
}

在我的视图文件中,我有这段代码:

<?php foreach ($galerija as $gal): ?>
<figure>
<?php foreach ($galerija_slike as $img): ?>
<?php if ($gal['id_galerija'] == $img['galerija_id']): ?>

<?php endif ?>
<?php endforeach ?>
<img src="" >
<figcaption></figcaption>
</figure>
<?php endforeach ?>

这两个代码是否可能(如果是,如何)?

2 个答案:

答案 0 :(得分:5)

你总是可以这样做..

function galerija_get_all($type){
    $q = $this->db->get($type);
    return $q->result_array();
}

然后你可以像这样使用它:

falerija_get_all('slike');

falerija_get_all('galerija');

答案 1 :(得分:0)

您可以将两个结果存储在一个数组中,然后将该数组作为单个结果返回。

function get_all(){
   $galerija = $this->db->get('galerija')->result_array();
   $slike = $this->db->get('slike')->result_array();

   $result = array('galerija'=> $galerija,
                   'slike'   => $slike);
   return $result;
}

然后在视图中你可以这样做

<?php foreach ($result['galerija'] as $gal): ?>
<figure>
<?php foreach ($result['slike'] as $img): ?>
<?php if ($gal['id_galerija'] == $img['galerija_id']): ?>

<?php endif ?>
<?php endforeach ?>
<img src="" >
<figcaption></figcaption>
</figure>
<?php endforeach ?>