0
   $result = Doctrine_Core::getTable('Property')->createQuery('p')
                 ->select('min(p.article_id) as article_id')
                 ->where('p.name = ?', 'hotel_number')
                 ->innerJoin('p.Article a')
                 ->andWhere('a.is_active = ?', true)
                 ->groupby('p.string_value')->execute();

これにより、複数のオブジェクトが返されます。

$articles = array();
foreach ($result as $temp) {

        $articles[] = $temp['article_id'];
    }
return $articles;

phppgadminでクエリを実行すると、100以上の結果が返される理由が1つだけ返される理由がわかりません。他の方法でうまく機能する他のクエリをいくつか試しましたが、ここでも1つしか返されません。

誰にもアイデアがありますか?以前にこのような状況になったことはなく、この問題を解決することはできません -.-

4

2 に答える 2

0

わかりました、私は私の問題を修正しました。それはエイリアスの教義のバグです.. Google検索についてこれを見つけました。

教義によって与えられるエイリアス名に問題があります

問題へのリンクは次のとおりです: www.doctrine-project.org エイリアスの問題

私の問題については、上記のクエリに一致するすべての ID を取得したいだけなので、修正は簡単です。

これで修正されました:$result->execute(array(), Doctrine::HYDRATE_SCALAR)

HYRATE_SCALAR はオブジェクト配列を返しません..ここのドクトリンドキュメントを見てください:

HYDRATE_SCALAR ドキュメント

この問題で誰かを助けることができれば幸いです。Thx 4ヘルプみんな:)

于 2013-08-02T08:19:52.447 に答える