Kohana没有加载结果行?

时间:2012-11-04 14:53:48

标签: php sql orm kohana

如果我尝试使用Kohana ORM加载结果,则查询是正确的,但结果为空。如果我复制查询并在phpmyadmin中使用它,我会收到2行。

这是Kohana Code(ORM)

        // DB work
        $ftps = ORM::factory('ftp');

        // if we activate many (we load only ready)
        if ($this->request->param('mode') == 'activate') {
            $ftps->where('ready', '=', '1');

        // if we activate many (we load only ready)
        } elseif ($this->request->param('mode') == 'not_ready') {
            $ftps->where('ready', '=', '0');
        }

        // DB work
        $ftps->and_where('activated', '=', '0')
             ->order_by('lastcheck', 'ASC')
             ->limit(intval($post['number']))
             ->find_all();

这是SQL查询(调试)

SELECT `ftp`.* FROM `ftps` AS `ftp` WHERE `activated` = '0' ORDER BY `lastcheck` ASC LIMIT 100 (1)

为什么Kohana无法像phpmyadmin那样加载相同的结果?这是同一个查询。我找不到解决办法。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

这是我在使用Kohana时经常遇到的一个问题。对您的问题有一个简单但不直观的解释。如果你只是在......

$ftps->find_all();

然后尝试使用$ftp作为结果集,这将无效,因为仅find_all()函数返回结果集,{{1正在重置查询对象。相反,你需要做...

$ftps

然后 $ftps = $ftps->find_all(); 将包含结果集。

希望有所帮助!