Yii:使用Cdbcriteria检索数据


Yii: Retrieving data using Cdbcriteria

我是yiibie。我试图做的是从数据库中检索数据,为此我使用cDbCriteria。我想从名为Event的数据库表中获取最后4张图像。然后想要单独显示这4个图像。我正在使用这个方法,但没有得到任何结果,请帮助我。

      <?php
 $Criteria = new CDbCriteria();
$Criteria->limit = 4;
$Criteria->order = "image DESC";
$Criteria->select = "id, image";
$Events = Event::model()->findAll($Criteria);
foreach ( (array)$Events as $Event)
{
    $Event[1]=$image1;
    $Event[2]=$image2;
    $Event[3]=$image3;
    $Event[4]=$image4;
}
  ?>
<div class="row">
<h3>Events</h3>
<div class="col-md-3">
<div class="thumbnail">
   <img src="<?php echo $image1  ?>">
<div class="caption">
    <a href="join.php"> <button class="btn btn-primary center-block">Join</button></a>
  </div>
    </div>
</div>

findAll()方法检索ActiveRecords的数组,因此需要foreach循环。尝试:

foreach ( (array)$Events as $Event)
{
   echo "
      <div class='col-md-3'>
         <div class='thumbnail'>
            <img src='$Event->image' >
            <div class='caption'>
               <a href='join.php'><button class='btn btn-primary center-block'>Join</button></a>
            </div>
         </div>
      </div>
   ";
}
$Criteria = new CDbCriteria();
$Criteria->limit = 4;
$Criteria->order = "id DESC";
$Criteria->select = "id, image";
$Events= Event::model()->findAll($Criteria);

这将给出最后4条记录

第一路

if(isset($Events[0]))
      echo $Events[0]->image;
if(isset($Events[1]))
      echo $Events[1]->image;
if(isset($Events[2]))
      echo $Events[2]->image;
if(isset($Events[3]))
      echo $Events[3]->image;

我在这里检查isset(),因为可能有b3条目。这是静态

第二路

foreach($Events as $event)
   {
      echo $event->image;
   } 
  this is dynamic binding.