Я ищу некоторую помощь относительно того, почему мои отношения OneToMany в доктрине возвращают только одно значение. Моя модель данных имеет три таблицы. Пользователи, авторизация и приложения. Таблица авторизации - это клей, который отображает пользователей в приложениях, а также содержит поле уровня доступа, указывающее уровень доступа для этого приложения.OneToMany Relationship Only Returns 1 Row
У меня есть пользователь, имеющий три записи в авторизации для трех разных приложений, но по какой-то причине доктрина загружает только одну из этих записей авторизации. Я включил мою полную модель данных ниже. Этот атрибут является «авторизацией» в таблице Webusers.
Кто-нибудь знает, что я делаю неправильно?
class Webusers {
/**
* @var integer
*
* @ORM\Column(name="userid", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $userid;
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\ManyToMany(targetEntity="Applications", mappedBy="userid")
*/
private $applications;
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\OneToMany(targetEntity="Authorization", mappedBy="user")
*/
private $authorization;
/**
* Constructor
*/
public function __construct() {
$this->applications = new \Doctrine\Common\Collections\ArrayCollection();
$this->authorization = new \Doctrine\Common\Collections\ArrayCollection();
}
class Authorization {
/**
* @var integer
*
* @ORM\Column(name="accesslevel", type="integer", nullable=false)
*/
private $accesslevel;
/**
* @var integer
*
* @ORM\Column(name="applicationid", type="integer", nullable=false)
* $ORM\Id
*/
private $applicationid;
/**
* @var integer
*
* @ORM\Column(name="userid", type="integer", nullable=false)
* @ORM\Id
*/
private $userid;
/**
* @var \Webusers
*
* @ORM\ManyToOne(targetEntity="Webusers")
* @ORM\JoinColumn(name="userid", referencedColumnName="userid")
*/
private $user;
}
class Applications {
/**
* @var integer
*
* @ORM\Column(name="applicationid", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $applicationid;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=50, nullable=false)
*/
private $name;
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\ManyToMany(targetEntity="Webusers", inversedBy="applicationid")
* @ORM\JoinTable(name="authorization",
* joinColumns={
* @ORM\JoinColumn(name="applicationid", referencedColumnName="applicationid")
* },
* inverseJoinColumns={
* @ORM\JoinColumn(name="userid", referencedColumnName="userid")
* }
*)
*/
private $userid;
/**
* Constructor
*/
public function __construct()
{
$this->userid = new \Doctrine\Common\Collections\ArrayCollection();
}
}