我想在我的项目中使用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()属性参与者为空。
如果您有我的问题的解决方案,请告诉我。
答案 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
}
}
希望你想要这个结果。