我想从数据库中显示data
,并且我在model file
中创建了一个功能,该功能显示了数据库中的数据,但所有值都显示在array format
中。
问题是,当我在foreach循环中打印echo $values['title'];
时,它只显示来自title
数组的第一个字母??
型号代码
function reviewcitypage()
{
$cacheKey = 'city_page';
GigaCache::set(array('duration'=>"+1 minutes",'path'=>CACHE));
$cachedCategoryData = GigaCache::read($cacheKey);
if($cachedCategoryData && !cr('DynamicPage.field'))
{
$recentactivity = $cachedCategoryData;
}else
{
$recentactivity= $this->find("list",array("conditions"=>array("status"=>1),'fields'=>array('title','body','rating'),'recursive'=>-1,'limit'=>10));
//dont't set cache if dynamic field
if(!cr('DynamicPage.field'))
{
GigaCache::set(array('duration'=>"+1 minutes",'path'=>CACHE));
GigaCache::write($cacheKey,$recentactivity);
}
}
return $recentactivity;
}
查看文件
$ReviewObj = cri('Review');
$recentactivity = $ReviewObj->reviewcitypage();
foreach ($recentactivity as $name => $value){
foreach($value as $values)
{
echo $values['title'];
}
}
**问题现在解决,感谢支持**
i have changed the code in model file and it is woking now
$recentactivity= $this-
>find("all",array("conditions"=>array("status"=>1),'recursive'=>-1,
'limit'=>10));
答案 0 :(得分:3)
您的find()查询正在将数据准备为'list'
。在蛋糕列表中总是键=>值对数组。所以在你的视图中,当你使用第二个foreach循环时,你会说一个字符串中的foreach字符...做.....
$value
只能是一个字符串。预告它只能使$ value成为一个char。
如果您仍然不确定我的意思,请告诉我。不是最能解释我的意思
http://book.cakephp.org/2.0/en/models/retrieving-your-data.html#find-list
因为您在3个字段之后,我建议使用first
或all
代替list
作为find()方法中的第一个参数。