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。是的,这正是命令。但在阅读之后,我不认为这就是为什么它不拉合并的值。它应该拉取所有值,但它显示的是主左表,然后用空值连接表