【问题标题】:JOIN error in Symfony 2.1 with two entities managersSymfony 2.1 中带有两个实体管理器的 JOIN 错误
【发布时间】:2013-03-07 07:13:12
【问题描述】:

我有一个包含大量数据的数据库,我想使用 JOIN 在 DQL 中构建一个简单的查询,但是我遇到了“没有命名的关联”错误。 我在一个 DB 中有 2 个表,“main”和“users_main”,另一个 DB 中有一个表“

这是我的代码:

AdsMain.php:

/**
 * @ORM\Column(name="user", type="integer", nullable=false)
 * @ORM\ManyToOne(targetEntity="Vt\KohanaBundle\Entity\AdsUsersMain")
 * @ORM\JoinColumn(name="user", referencedColumnName="id")
 */
private $user;

AdsMainRepository.php

class AdsMainRepository extends EntityRepository {

    public function findPremiumsCallCenter() {

        $em = $this->getEntityManager();
        $consulta = $em->createQuery(
                'SELECT  a.title , u.fullname
                    FROM
                        KohanaBundle:Main AS a
                            JOIN 
                        a.user AS u'
        );

        $consulta->setMaxResults(20);
        $lista = $consulta->getResult();
        return $lista;
    }
}

AdsUsersMain

class AdsUsersMain{
    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

}

学说配置

doctrine:
    dbal:
        default_connection: vt #default connection
            connections:
            vt:
                driver:   %database_driver%
                        host:     %database_host%
                port:     %database_port%
                        dbname:   %database_name_vt%
                user:     %database_user_vt%
                password: %database_password_vt%
                charset:  UTF8
            kohana:
                driver:   %database_driver%
                host:     %database_host%
                    port:     %database_port%
                dbname:   %database_name_kohana%
                user:     %database_user_kohana%
                    password: %database_password_kohana%
                charset:  UTF8
    orm:
        auto_generate_proxy_classes: %kernel.debug%
        #auto_mapping: true

        default_entity_manager: vt   
        entity_managers:
        vt:
            connection: vt
            mappings:
                VentaBundle : ~
                UsuarioBundle : ~                    
        kohana:
            connection: kohana
            mappings:
                KohanaBundle : ~

当我调用函数 findPremiumsCallCenter() 我有这个错误:

[语义错误] 第 0 行,第 161 列靠近 'AS u ': 错误:Vt\KohanaBundle\Entity\AdsMain 类没有名为用户的关联 500 内部服务器错误 - QueryException

谁能帮帮我?

【问题讨论】:

    标签: join doctrine symfony-2.1


    【解决方案1】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-20
      • 1970-01-01
      • 2018-09-15
      • 1970-01-01
      相关资源
      最近更新 更多