选择特定列Symfony 2 / Doctrine

时间:2012-09-17 12:23:42

标签: php sql doctrine

我是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)。

你能帮帮我吗?有没有更简单的方法从表中检索单个特定字段?

1 个答案:

答案 0 :(得分:0)

Fetch提取下一列,如果你想同时使用fetchAll。

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

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

while ($row = $statement->fetch(PDO::FETCH_ASSOC)) {
    echo $row['profession'];
}