使用Symfony FosMessageBundle或OrnicarMessageBundle加载线程参与者的问题

时间:2015-02-04 11:28:37

标签: symfony fosuserbundle

我想在我的项目中使用FosMessageBundle在symfony上提供messeging功能。

以下文档我使用这段代码加载所有收件箱线程。

$provider = $this->container->get('fos_message.provider');
$threads = $provider->getInboxThreads();

每个线程在树枝中转储的结果是:

Thread {#1300 ▼
  #id: 7
  #createdBy: User {#1129 ▶}
  #messages: PersistentCollection {#1294 ▶}
  #metadata: PersistentCollection {#1273 ▶}
  #participants: null
  #keywords: ""
  #createdAt: DateTime {#1311 ▶}
  #subject: "First msg"
  #isSpam: false
}

我的问题是如何获得每个帖子的参与者?

当然,如果我加载单线程,我可以获得参与者。但是使用方法getInboxThreads()或getSentThreads()属性参与者为空。

如果您有我的问题的解决方案,请告诉我。

1 个答案:

答案 0 :(得分:1)

您需要迭代线程,如:

   $provider = $this->container->get('fos_message.provider');
   $threads = $provider->getInboxThreads();
   foreach($threads as $thread)
   {
        foreach ($thread->getParticipants() as $participant)
        {
            // here is your thread participant is $participant
        }
   }

希望你想要这个结果。