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);

或者,如果您想逐个获取和处理(如果您不想将它们存储在数组中),

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