我在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行数据=
contentId = 1 intro =“今天是星期日”日期= 2013-01-01 contentId = 23 intro =“世界的微笑日”日期= 2013-01-01
但是当我通过json发送它时,它只发送最后检索到的contentId = 23的信息。 那么如何以json格式发送多行数据。
答案 0 :(得分: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))."] }";
}
}
}