Typo3 extbase:过滤A 1:N关系



我有一个1:n关系:事件可以有很多日期。

现在,我想查询事件存储库,并在儿童记录" dite"上应用过滤器:

"获取具有日期的所有事件,date.start> x"

纯SQL查询可能是这样的:

SELECT tx_event_domain_model_event.*,tx_event_domain_model_date.*
FROM  tx_event_domain_model_event, tx_event_domain_model_date
WHERE tx_event_domain_model_date.event = tx_event_domain_model_event.uid
AND tx_event_domain_model_date.start > 1497960246

如何使用存储库中的extbase查询类进行此查询?

您可以使用extbase查询对象仅获取具有某些日期的事件。

我认为您在事件模型中有一个字段"日期",可以跟踪添加的事件。

它没有测试过,但是您的功能看起来像这样:

// assuming your repository is "eventRepository"
$startDate = 1497960246;
$query = $this->eventRepository->createQuery();
$query->matching($query->greaterThan('date.start', $startDate));
$events = $query->execute();

您可以在typo3 docs

中使用extbase查询对象阅读有关自定义数据库查询的更多信息。

最新更新