我在Zend 1.11中使用Doctrine-2.0.4。 Php映射器和實體是從MySQL DB生成的。現在我想將兩個表和查詢永遠只得到學說2加入協會沒有找到
[語義錯誤] 0行,列48附近的「e」:錯誤:實體類\用戶還沒有命名的關聯賬戶
查詢:
$query = $em->createQueryBuilder()
->select('u')
->from('\Entities\Users', 'u')
->leftJoin('u.Accounts', 'a')
->getQuery();
$info = $query->getResult();
在我的數據庫有兩個表:用戶,帳戶
- 用戶公頃S場ID,帳戶ID
- 帳戶具有域ID,資訊
Users.accountId有雙向one-to-one關聯到Accounts.id
<?php
namespace Entities;
/**
* Users
*
* @Table(name="users")
* @Entity
*/
class Users
{
/**
* @var integer $id
*
* @Column(name="id", type="integer", nullable=false)
* @Id
* @GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var integer $accountid
*
* @Column(name="accountId", type="integer", nullable=false)
* @OneToOne(targetEntity="accounts", inversedBy="id")
* @JoinColumn(name="accounts_id", referencedColumnName="id")
*/
private $accountid;
...
}
<?php
namespace Entities;
/**
* Accounts
*
* @Table(name="accounts")
* @Entity
*/
class Accounts
{
/**
* @var integer $id
*
* @Column(name="id", type="integer", nullable=false)
* @Id
* @GeneratedValue(strategy="IDENTITY")
* @OneToOne(targetEntity="users", mappedBy="accountid")
*/
private $id;
...
}
幾個小時的調試,幾秒鐘的找到答案。 10nx – 2014-06-23 19:04:04