控制器中的Symfony查询

时间:2017-07-26 20:29:54

标签: mysql symfony model-view-controller

$query = $em->query("
    SELECT c.id AS id
    FROM collectif c, zone z
    WHERE
        c.zone_id = z.id
    AND z.label = '$zone'
    ANDc.collectif = '$collectif'
");

$c = $query->fetchAll();
$idc = $c['id'];

我有这个返回单行的查询,Symfony向我显示错误,因为变量id未定义

注意:我知道这不尊重Symfony [MVC]的概念,但这是出于特殊原因所以如果有人能告诉我如何解决这个问题

谢谢

2 个答案:

答案 0 :(得分:2)

$query->fetchAll()应该返回元素的数组,因此键id不存在。您应该尝试$c[0]['id']来获取价值。

答案 1 :(得分:0)

如果您更倾向于以关联方式使用结果,则可以改为使用fetchAssoc()

$c = $query->fetchAssoc();
$idc = $c['id'];

以下是供参考的文档: http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/data-retrieval-and-manipulation.html#fetchassoc

我只是提供另一种方法来做到这一点。