Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TYPO3 Extbase:筛选1:N关系_Typo3_Extbase - Fatal编程技术网

TYPO3 Extbase:筛选1:N关系

TYPO3 Extbase:筛选1:N关系,typo3,extbase,Typo3,Extbase,我有一个1:n的关系:一个事件可以有很多日期 现在我想查询事件存储库并对childrecords“dates”应用一个过滤器: “获取日期为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_doma

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

现在我想查询事件存储库并对childrecords“dates”应用一个过滤器:

“获取日期为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
// assuming your repository is "eventRepository"
$startDate = 1497960246;
$query = $this->eventRepository->createQuery();
$query->matching($query->greaterThan('date.start', $startDate));
$events = $query->execute();

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

您可以使用Extbase查询对象仅获取具有特定日期的事件

我假设您的事件模型中有一个字段“date”,用于跟踪添加的事件

它尚未对其进行测试,但您的函数将如下所示:

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

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

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

我假设您的事件模型中有一个字段“date”,用于跟踪添加的事件

它尚未对其进行测试,但您的函数将如下所示:

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

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

欢迎使用Stack Overflow,请向我们展示您迄今为止所做的工作,添加一些代码和结果。请确保阅读这里是extbase查询的参考:欢迎使用Stack Overflow,请向我们展示您迄今为止所做的工作,添加一些代码和结果。请确保阅读此处是extbase查询的参考: