Sql 在Type3 logicalOr数据库查询中确定优先级
我想在TYPO3中创建一个DB查询。我想区分不同的系统语言UIDSql 在Type3 logicalOr数据库查询中确定优先级,sql,constraints,typo3,Sql,Constraints,Typo3,我想在TYPO3中创建一个DB查询。我想区分不同的系统语言UID $lanuageUid = $demand->getLanguageUid(); if (isset($lanuageUid)) { $constraints['sys_language_uid'] = $query->logicalOr( [ $query->equals('sys_l
$lanuageUid = $demand->getLanguageUid();
if (isset($lanuageUid)) {
$constraints['sys_language_uid'] = $query->logicalOr(
[
$query->equals('sys_language_uid', 0),
$query->equals('sys_language_uid', $demand->getLanguageUid()),
]
);
}
我希望返回使用setLimit()设置的特定数量的记录;
假设最近的语言uid代表西班牙,0代表英语。
我想要回3张唱片,但我只有2张西班牙唱片,所以我想要最后一张英文唱片。
我最近的查询只提供了已排序的记录。但是我可以说我首先想要所有的西班牙语记录,然后,如果它们小于3,我想要剩余的英语记录吗?我会用$defaultOrderings
$this->setDefaultOrderings([
'sys_language_uid' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_DESCENDING
]);