0

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

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 ?>

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

4

2 回答 2

5

你总是可以这样做..

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

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

falerija_get_all('slike');

或者

falerija_get_all('galerija');
于 2012-11-27T21:12:48.567 回答
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 ?>
于 2012-11-27T21:31:20.977 回答