如何获得findBySQL的结果

时间:2013-05-21 03:57:46

标签: php yii

抱歉我的英文。这是一个代码:

public function showLastThreeNews(){
    return News::model()->findBySql('SELECT * FROM news LIMIT 3;');
}

接下来,例如,我想获得查询结果:

public function actionIndex()
    {
        $lastnews = $this->showLastThreeNews();

        foreach ($lastnews as $news){
            ChromePhp::log($lastnews->news_title);
        }

        $this->render('index', array(
            'lastnews'=>$lastnews
        ));
    }

问题是记录器向我显示一条记录三次而不更改为下一条记录。

我的错误是什么?

2 个答案:

答案 0 :(得分:1)

尝试更改

ChromePhp::log($lastnews->news_title);

ChromePhp::log($news->news_title);

您对foreach循环使用不当。您正在使用迭代器源而不是foreach的当前元素。

答案 1 :(得分:0)

您在循环中使用了错误的变量,将其更改为

foreach ($lastnews as $news){
        ChromePhp::log($news->news_title);
}