1

私は Ruby on Rails プログラマーですが、PHP 用の Symfony フレームワークの学習を開始することにしました。そして、私はDoctrineに問題があります:

ユーザーのモデルがあります:

id | username | profession | password

データベース内。次のようなメソッドを作成したいと考えています。

SELECT DISTINCT profession FROM user;

そこで、次のようなコードを書きました。

$connection = Doctrine_Manager::connection();
$query = 'SELECT DISTINCT profession FROM user';
$statement = $connection->execute($query);
$this->professions = $statement->fetch(PDO::FETCH_ASSOC);

しかし、それは適切に機能していません - すべての職業ではなく、最初の職業のみを取得します (6 である必要があります)。

私を手伝ってくれますか?テーブルから単一の特定のフィールドを取得する簡単な方法はありますか?

4

1 に答える 1

0

Fetch は次の列をフェッチします。一度にすべてが必要な場合は fetchAll を使用します。

$statement->fetchAll(PDO::FETCH_ASSOC);

または、1 つずつ取得して処理する場合 (それらを配列に格納したくない場合)、

while ($row = $statement->fetch(PDO::FETCH_ASSOC)) {
    echo $row['profession'];
}
于 2012-09-22T10:59:57.903 に答える