Доктрина создает некоторую неопределенную ошибку - PullRequest
1 голос
/ 06 декабря 2011

Для некоторых специальных объектов (я не могу сказать, какие из них) я получаю следующую ошибку при попытке сделать count($Club->getUmbrellas()), где $Club->getUmbrellas() - это Doctrine\ORM\PersistentCollection.

Примечание: неопределенный индекс: идентификатор в /var/www/apache/StudCon/library/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php в строке 401 Фатальная ошибка: вызов функции-члена getValue () для не- объект в /var/www/apache/StudCon/library/Doctrine/ORM/Internal/Hydration/ObjectHydrator.php в строке 401

  • Club является основным.
  • ClubClub расширяется Club
  • ClubUmbrella расширяется Club
  • ClubUmbrella и ClubClub косвенно связаны с RelationClubUmbrella

Это самые важные сведения (пожалуйста, спросите, нужно ли вам больше):

class Club extends \StudCon_Entity
{

    /**
     * @Column(type="string", length="150")
     * @var string
     */
    protected $type;

    /**
     * @Id @GeneratedValue
     * @Column(type="bigint")
     * @var integer
     */
    protected $id;

class ClubClub extends Club
{

    /**
     * @OneToMany(targetEntity="RelationClubUmbrella", mappedBy="club", indexBy="id")
     */
    protected $umbrellas;

class ClubUmbrella extends Club
{

    /**
     * @OneToMany(targetEntity="RelationClubUmbrella", mappedBy="umbrella")
     */
    protected $clubs;

class RelationClubUmbrella
{

    const STATUS_REQUESTED = 1;
    const STATUS_CONFIRMED = 2;
    const STATUS_REJECTED = 3;


    /**
     * @Column(type="integer")
     * @var integer
     */
    protected $status;

    /**
     * @Id
     * @ManyToOne(targetEntity="Club")
     * @JoinColumn(name="umbrellaid", referencedColumnName="id")
     * @var Category
     */
    protected $umbrella;

    /**
     * @Id
     * @ManyToOne(targetEntity="Club")
     * @JoinColumn(name="clubid", referencedColumnName="id")
     * @var Category
     */
    protected $club;

1 Ответ

0 голосов
/ 20 декабря 2011

Похоже, вы используете устаревшую версию Doctrine. Подобные проблемы были исправлены, вам следует попробовать последнюю версию (выпущено сегодня ).

...