Symfony Doctrine createQueryBuilder From()别名不起作用

时间:2017-06-09 17:40:49

标签: php symfony doctrine-orm

在尝试执行此查询时,它抱怨:

  

[2/2] QueryException:[语义错误]第0行,col 443在' User附近   用户LEFT':错误:Class' User'没有定义。

我真的不知道为什么我需要我的别名,但我把它添加到那里并且它不起作用。

实体类名称是"用户"

$combined

更新的工作查询////////////////////

$combined = array();

foreach ($memberattacks2 as $memberb) {

    $value = $memberb["Level"];
    echo $memberb["Level"];

    foreach ($memberattacks as $memberf) {
        if ($memberf["tag"] == $memberb["ks"][1]["dTag"]) {

            $value .= $memberf["Level"];
            echo $memberf["Level"];
        }
    }

    $value .= $memberb["ks"][1]["pins"];
    echo $memberb["ks"][1]["pins"];

    $combined[] = $value;
}

1 个答案:

答案 0 :(得分:2)

您应该使用完全限定的类名,请尝试使用:

    ->from(User::class,'user')

而不是

    ->from('User','user')

更一般地说,参考Symfony Doctrine的documentation

  

您需要考虑选择PHP对象而不是行   在数据库中。因此,您可以从中选择   AppBundle:Product实体(可选的快捷方式)   AppBundle\Entity\Product类),然后将其别名为p

因此,您应该使用类的字段而不是DQL语句中表的列名。

希望这个帮助