我的extbase模型" show",有很多记录"制作"。生产可以结束"或者"当前"。它在制作模型中宣布。
在&#34;显示&#34; - 显示我想列出当前的制作和结束的制作。目前,只能使用<f:for each="{productions}"...>
和条件列出它。
但我希望这样做<f:for each="{currentProductions}"...
或<f:for each="{endedProductions}"...
所以我为我的作品库写了一个查询:
public function aktuelleProduktionen(Musicalplanet\MpDatenbank\Domain\Model\Produktionen $produktionen) {
$query = $this->createQuery();
$query->matching(
$query->logicalOr(
$query->equals('openend', '1'),
$query->equals('abgelaufen', '0')
)
);
return $query->execute();
}
但现在我真的不知道如何让它发挥作用。 对我来说,不清楚在哪里添加它,就像我需要它一样使用它。
答案 0 :(得分:1)
首先,我认为您的查询方法应该更像这样才能获得节目的制作:
public function aktuelleProduktionen(Musicalplanet\MpDatenbank\Domain\Model\Show $show) {
$query = $this->createQuery();
$query->matching(
$query->logicalAnd(
$query->equals('show', $show->getUid()),
$query->logicalOr(
$query->equals('openend', '1'),
$query->equals('abgelaufen', '0')
)
)
);
return $query->execute();
}
我想,当你有一个show-Model时,你也有一个Show-Controller。在其中,您应该注入您的ProductionRepository:
/**
* programRepository
*
* @var \Musicalplanet\MpDatenbank\Domain\Model\ProduktionenRepository
* @inject
*/
protected $produktionenRepository;
现在,您可以使用自定义查询方法从存储库中获取当前产品。在你的showAction()中做到这一点。
public function showAction(Musicalplanet\MpDatenbank\Domain\Model\Show $show) {
$currentProductions = $this->produktionenRepository->aktuelleProduktionen($show);
$this->view->assign('currentProductions', $currentProductions);
}
或多或少,这应该有效。希望有所帮助。