Я использую Doctrine-2.0.4 с Zend 1.11. Php Mappers и Entities генерируются из базы данных MySQL. Теперь я пытаюсь запрос, который соединяет две таблицы и только когда-нибудьdoctrine 2 объединений не найдено
[Семантическая Error] строка 0, столбец 48 вблизи «е»: Ошибка: не Объекты класса \ Users имеет никакой связи с именем Accounts
запроса :
$query = $em->createQueryBuilder()
->select('u')
->from('\Entities\Users', 'u')
->leftJoin('u.Accounts', 'a')
->getQuery();
$info = $query->getResult();
В моей БД есть две таблицы: пользователей, учетные записи
- пользователей га s поля идентификатор, ACCOUNTID
- счетов имеет поля ID, информация
Users.accountId имеет двунаправленную связь один-к-одному к 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 –