Zend - справка по доктрине 2 - PullRequest
0 голосов
/ 29 июня 2011

Я хочу использовать это:

$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 пользовательимеет много пользовательских сущностей ..

и я получаю эту ошибку:

Ошибка: сущности класса \ У пользователей нет ассоциации с именем Users

Я просто хочу сделать левое соединение спользователи для usersentities ..

как я могу присоединиться слева?

1 Ответ

1 голос
/ 30 июня 2011

Попробуйте добавить эту аннотацию в свой класс Userentities для поля $ userid:

/**
 * @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;
...