如何在类别中添加多个ID

时间:2015-03-18 09:41:43

标签: php yii foreach

如何在此代码中添加多个ID类别。

我有 kategorija_id 5个阵列:

1 - 新闻 2 - 杂志 3 - Kokursi 4 - Grantovi等..

我只想显示键1和2

当我添加数组时,我只需打印第一个键

 $kategorija = Kategorija::model()->findByPk($item->kategorija_**id=1,2**);

Thnx:)

代码更新:

 <div class="carousel-inner">
      <div class="item active">
          <ul class="thumbnails">
        <?php

        $i = 0;            
        $lastDefault = 0;
        foreach ($ids as $itemId) {
            $item = InfoPaket::model()->findByPk($itemId);
            $kategorija = Kategorija::model()->findByPk($item->kategorija_id);

            if ( $i % 3 == 0 && $i > 0 ) {
                echo "</ul></div><div class='item'><ul class='thumbnails'>";
            }  

            $imageUrl = $_SERVER['DOCUMENT_ROOT'] . Yii::app()->baseUrl . "/images/infopaket/" . $item->slika;

            if ( !file_exists($imageUrl) || empty($item->slika)) {
                if ( $lastDefault == 0 ) {
                    $imagePath = Yii::app()->baseUrl . "/images/infopaket/info_paket.png";
                    $lastDefault = 1;
                } else {
                    $imagePath = Yii::app()->baseUrl . "/images/infopaket/info_paket_redv2.png";
                    $lastDefault = 0;
                }
            } else {
               $imagePath = Yii::app()->baseUrl . "/images/infopaket/" . $item->slika;
            }

            echo "<li class='span3 thmb-elem'>";
                echo "<div class='thumbnail right-caption image'>";
                    echo "<a class='img-link' href='" . Yii::app()->getHomeUrl() . "?r=infoPaket/clanak&id=" . $item->id . "'><img class='img-class' src='$imagePath'></a>";
                echo "</div>";
                echo "<div class='caption caption-link'>";
                    echo "<div class='naziv'><img class='arrow-img' src='". Yii::app()->getBaseUrl() . "/themes/shadow_dancer/images/arrow.png'> " . strtoupper($kategorija->naziv) . "</div>";
                    echo "<p><a class='naslov' href='" . Yii::app()->getHomeUrl() . "?r=infoPaket/clanak&id=" . $item->id . "'><strong>" . $item->naslov . "</strong></a></p>";
                echo "</div>";
            echo "</li>";
            $i++;
        }

        ?>
          </ul>
    </div>  
</div>

2 个答案:

答案 0 :(得分:1)

我解决了这个问题,添加了这行代码

if ($item->kategorija_id==3 || $item->kategorija_id==4 ) { 

现在代码看起来像这样,它完美无缺。

  <?php 
$lastDefault = 0;
foreach ($ids as $itemId) {
$item = InfoPaket::model()->findByPk($itemId);
$kategorija = Kategorija::model()->findByPk($item->kategorija_id);
if ($item->kategorija_id==3 || $item->kategorija_id==4 ) { 
 echo '<li>';
 echo '<img src="<?php echo Yii::app()->theme->baseUrl; ?>/images/infopaket/info_paket.png" />';
 echo '<h2>';
 echo strtoupper($kategorija->naziv);
 echo '</h2>';
 echo '<h1>';
 echo "<a class='naslov' href='" . Yii::app()->getHomeUrl() . "?r=infoPaket/clanak&id=" . $item->id . "'>";
 echo $item->naslov;
 echo '</h1>';
 echo '</a>';
 echo '</li>';
}
}
?>

答案 1 :(得分:0)

findByPk()也接受第一个参数作为数组。所以你可以做到

category::model()->findByPk(array('1', '2'));

此外,$item->category_id将仅返回单个条目。如果您的商品有多个类别,请设置与类别的关系,然后使用

获取类别ID
CHtml::listData($item->categoriesRelationName, 'id', 'id');

也可以使用函数($ data){return $ data-&gt; attribtues} --------- ^ ---来获取模型的所有属性