0

我在yii工作。我有一个存储信息及其相关日期的表格。在以下功能中,我通过提供日期作为输入来搜索信息。我在控制器中有功能-

     public function actionGetHistoryContent()
      {
        $content1=new Dnycontenttitle();
        $content1->date="2013-01-01";
        $getcontentId=Dnycontenttitle::model()-   >indAllByAttributes(array("date"=>$content1->date));

        foreach ($getcontentId as $Id)
        {

         //echo $Id->contentTitleId;
         $getcontent=Dnycontent::model()->findAllByAttributes(array("contentTitleId"=>$Id->contentTitleId));
         foreach($getcontent as $content)
         {  
            echo "</br>".$content->content;
         }

      }  
     echo "{'Historys':    [".CJSON::encode(array("contentId"=>$Id>contentTitleId,"Intro"=>$content->content))."] }";
}

因此,上述功能正在检索日期为“2013-01-01”的所有信息行。我想将所有这些数据以 json 格式发送到客户端。但上面的 json 只发送一行数据,最后由函数检索。例如,假设上述函数从表中检索 2 行数据 as=

contentId=1 intro="今天是星期天" Date=2013-01-01 contentId=23 intro="世界微笑日" Date=2013-01-01

但是当我通过 json 发送它时,它只发送最后检索到的 contentId=23 的信息。那么如何以json格式发送多行数据。

4

1 回答 1

0

您必须在 foreach() 中执行此操作。否则你会得到最后一个元素。试试这个。

public function actionGetHistoryContent()
  {
    $content1=new Dnycontenttitle();
    $content1->date="2013-01-01";
    $getcontentId=Dnycontenttitle::model()-   >indAllByAttributes(array("date"=>$content1->date));
    foreach ($getcontentId as $Id)
     {
     $getcontent=Dnycontent::model()->findAllByAttributes(array("contentTitleId"=>$Id->contentTitleId));
     foreach($getcontent as $content)
     {  
        echo "</br>".$content->content;
        echo "{'Historys':    [".CJSON::encode(array("contentId"=>$Id>contentTitleId,"Intro"=>$content->content))."] }";
     }
  }  

}

于 2013-01-05T06:23:19.117 回答