自 TYPO3 v12 以来,在存储库查询中使用约束不再像以前那样工作。
public function findByDate(
$dateFrom = null,
$dateTill = null,
$isAdmin = false,
$tags = [],
$keyword = ''
): QueryResultInterface
{
$query = $this->createQuery();
$query->getQuerySettings()->setIgnoreEnableFields(TRUE);
$query->getQuerySettings()->setEnableFieldsToBeIgnored(['starttime','endtime']);
$constraints = [];
if ($keyword != '') {
$constraints[] = $query->like('titel', '%'.$keyword.'%' );
}else{
if (isset($dateFrom) && isset($dateTill)) {
$constraints[] = $query->logicalAnd(
$query->lessThan('startdate', $dateTill->getTimestamp()),
$query->greaterThan('startdate', $dateFrom->getTimestamp()),
);
}
}
if (count($tags) > 0) {
$constraints[] = $query->logicalOr(
$query->in('tags.uid', $tags)
);
}
if ($isAdmin == false) {
$constraints[] = $query->equals('share', true); …Run Code Online (Sandbox Code Playgroud)