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

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.

  • 写回答

1条回答 默认 最新

  • douao2019 2016-08-05 08:43
    关注

    PersistentCollection is initialized lazily - for performance reasons, the data from database is held in mongoData. The collection is initialized during the first time you need some data from it (or try to modify it) - then the data held in mongoData is hydrated into your embedded documents and that is added to decorated coll. All this is happening transparently to you, just try using your collection instead of dumping it.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 请问不小心下载到了钓鱼软件怎么办?
  • ¥15 求国博抢票 求国博抢票 有的私
  • ¥50 swiftui @query 报错
  • ¥50 怎么解决刷卡或扫码后,点击软件输入框,win10屏幕键盘不会自动弹出的问题
  • ¥15 如何使用arcgispro的训练深度模型,发现water和nowater精度为0?(相关搜索:深度学习)
  • ¥20 matlab作业不太懂呀有问题能给个代码吗
  • ¥15 自制电路图为何无法驱动ESP01S?
  • ¥15 前端加access数据库
  • ¥15 ARCGIS 多值提取到点 ERROR 999999
  • ¥15 mysql异常断电, [MY-011971] [InnoDB]