doufang1954
2016-08-03 17:51
浏览 50
已采纳

PersistentCollection未初始化,但数据库中的数据使用Symfony和Doctrine

I have a problem with a PersistentCollection.

I have an Object User (herited of FOSUserbundle user class) who have an EmdebedDocument Seance. The Seance have an Array of Event. My Seance Class:

/**
* @MongoDB\EmbeddedDocument
*/
class Seance
{
/**
 * @MongoDB\Id
 */
protected $id;

/**
 * @MongoDB\EmbedMany(targetDocument="Event")
 */
protected $dispos ;

/**
 * @MongoDB\Field(type="string")
 */
protected $rayonDeplacement;

/**
 * @MongoDB\Field(type="string")
 */
protected $lieu;

/**
 * @MongoDB\Field(type="string")
 */
protected $prix;

/**
 * @MongoDB\Field(type="string")
 */
protected $nbPersonne;

And my class Event

/**
* @MongoDB\EmbeddedDocument
*/
class Event extends BaseEvent
{
/**
 * @var integer
 * @MongoDB\Id
 */
protected $id;

/**
 * @var \DateTime
 * @MongoDB\Field(type="date")
 * @Assert\NotNull()
 */
protected $startDate;
/**
 * @var \DateTime
 * @MongoDB\Field(type="date")
 * @Assert\NotNull()
 */
protected $endDate;

I give the event from user with:

$user->getSeance()->getDispos()

This function returns a empty PersistentCollection while they are events in database.

When dump the return of getDispos() method I have: dump of result getDispos() method

I dont't understant why I have mongoData field with my data but arrayCollection empty.

Thank you for yout help.

图片转代码服务由CSDN问答提供 功能建议

我遇到PersistentCollection问题。

我有一个拥有EmdebedDocument Seance的对象用户(FOSUserbundle用户类)。 Seance有一个事件阵列。 我的Seance类:

  / ** 
 * @MongoDB \ EmbeddedDocument 
 * / 
class Seance 
 {
 / ** 
 * @MongoDB \  Id 
 * / 
保护$ id; 
 
 / ** 
 * @MongoDB \ EmbedMany(targetDocument =“Event”)
 * / 
保护$ dispos; 
 
 / ** 
 *  @MongoDB \ Field(type =“string”)
 * / 
protected $ rayonDeplacement; 
 
 / ** 
 * @MongoDB \ Field(type =“string”)
 * / 
 nprotected $ lieu;  
 
 / ** 
 * @MongoDB \ Field(type =“string”)
 * / 
 nprotected $ prix; 
 
 / ** 
 * @MongoDB \ Field(type =“string”  )
 * / 
保护$ nbPersonne; 
   
 
 

我的班级事件

  / ** 
  * @MongoDB \ EmbeddedDocument 
 * / 
class事件扩展BaseEvent 
 {
 / ** 
 * @var integer 
 * @MongoDB \ Id 
 * / 
 nprotected $ id; 
 
 / *  * 
 * @var \ DateTime 
 * @MongoDB \ Field(type =“date”)
 * @Assert \ NotNull()
 * / 
 nprotected $ startDate; 
 / ** 
 * @var  \ DateTime 
 * @MongoDB \ Field(type =“date”)
 * @Assert \ NotNull()
 * / 
protected $ endDate; 
   
 
 

我通过以下方式向用户提供事件:

  $ user-> getSeance() - > getDispos()
    
 
 

此函数返回空的PersistentCollection,而它们是数据库中的事件。

当转储getDispos()方法的返回时,我有:

我不明白为什么我的数据有mongoData字段但是arrayCollection为空。

感谢您的帮助。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题