Zend framework Zend-条令2 querybuilder帮助

Zend framework Zend-条令2 querybuilder帮助,zend-framework,doctrine-orm,Zend Framework,Doctrine Orm,我想用这个: $query = $this->_doctrine->createQueryBuilder() ->select('u') ->from('\Entities\Users', 'l') ->leftJoin('l.userentities', 'u') ->getQuery(); return $info = $query->getResult(); 我的用户实体是: nam

我想用这个:

$query = $this->_doctrine->createQueryBuilder()
        ->select('u')
        ->from('\Entities\Users', 'l')
        ->leftJoin('l.userentities', 'u')
        ->getQuery();
return $info = $query->getResult();
我的用户实体是:

namespace Entities\Users;

/**
 * @Entity
 * @Table(name="users")
 * @HasLifecycleCallbacks
 */
class Users extends \Entities\AbstractEntity
{
    /**
     * @Id @Column(name="userid", type="integer")
     * @GeneratedValue(strategy="AUTO")
     */
    protected $userid;
      /** @Column(name="itemid", type="integer") */

    protected $itemid;
}
“我的用户实体”实体类包含:

namespace Entities\Users;

/**
 * @Entity
 * @Table(name="userentities")
 * @HasLifecycleCallbacks
 */
class Userentities extends \Entities\AbstractEntity
{
    /**
     * @Id @Column(name="entityid", type="integer")
     * @GeneratedValue(strategy="AUTO")
     */
    protected $entityid;
      /** @Column(name="userid", type="integer") */

    protected $userid;

     /** @Column(name="crb", type="string") */

    protected $crb;

}
我试着把这个放进实体,但没有乐趣 *@OneToMany(targetEntity=“Users”,inversedBy=“userid”) *@JoinColumn(name=“userid”,referencedColumnName=“userid”)

1用户有许多用户实体

我得到了这个错误:

错误:类实体\用户没有命名用户的关联

我只想做一个从用户到用户感知的左连接


如何进行左连接?

尝试将此注释放入$userid字段的Userentities类中:

/**
 * @var Entities\Userentities
 * @ManyToOne(targetEntity="Users", inversedBy="userentities", cascade={"persist"})
 */
private $userid;
在Users类中使用名为$userentities的新字段创建此注释:

/**
 * @var \Doctrine\Common\Collections\ArrayCollection
 * @OneToMany(targetEntity="Userentities", mappedBy="userid", cascade={"persist", "remove"})
 */
private $userentities;

呵呵,真管用。。我添加了一个用户,我可以选择该表中的用户实体列表。。。但是当我做一个条令2的查询。。它显示所有的userentities列以及左侧的join tbale users,但其全部为null。。。。我试图验证我的模式,它说:[映射]好-映射文件是正确的。[数据库]失败-数据库架构与当前映射文件不同步。我的左连接查询带来空值的原因是什么?您是否使用了Doctrine CLI来更新模式?orm:schema工具:更新--forceHi。是的,这正是命令。但在阅读之后,我不认为这就是为什么它不拉合并的值。它应该拉取所有值,但它显示的是主左表,然后用空值连接表