2

Kohana ORMで結果を読み込もうとすると、クエリは正しいですが、結果は空です。クエリをコピーしてphpmyadminで使用すると、2行が表示されます。

これはコハナコード(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と同じ結果を読み込めないのはなぜですか?同じクエリです。解決策が見つかりません。

ご協力ありがとうございました

4

1 に答える 1

0

これは、Kohana を使用していたときによく遭遇した問題です。あなたの問題には、単純だが直感的ではない説明があります。あなたが単にやっているなら...

$ftps->find_all();

関数は結果セットのみを返し、クエリオブジェクトがリセットされている$ftpため、結果セットとして使用しようとしますが、機能しません。代わりに、あなたがする必要があります...find_all()$ftps

$ftps = $ftps->find_all();

結果セットが含まれます $ftps

それが役立つことを願っています!

于 2012-11-18T11:24:22.197 に答える