sql - TYPO3逻辑或数据库查询中的优先级
问题描述
我想在 TYPO3 中创建一个数据库查询。我想区分不同的 sys_language_uids。
$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(); 设置了这些记录。可以说最近的 languageUid 是针对西班牙的,而 0 是针对英语的。我想要 3 条记录,但我只有 2 条西班牙记录,所以我想要最后一条英文记录。我最近的查询只是给了我有序的记录。但是我可以说我首先想要所有的西班牙记录,然后,如果它们更小 3,我想要英文的残差吗?
解决方案
我会用 $defaultOrderings 来做。
$this->setDefaultOrderings([
'sys_language_uid' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_DESCENDING
]);
推荐阅读
- python - 在 Python 中使用 Pandas 跨多个工作表重命名列 (XLS)
- reactjs - UseEffect 挂钩不起作用或如何显示异步数据
- operating-system - 监视器:“在每个时间点,最多有一个线程可能正在执行它的任何方法。”
- python - Mongo 错过了捕获插入触发器
- python - 使用 spaCy nlp 分析 df 中的文档列的问题
- sql - SQL:显示孩子和兄弟/姐妹
- mongodb - MongoDB中的排序子项
- javascript - 如何从 chrome 扩展 api 获取返回值?
- angular8 - ng2-smart-table 中的 noDataMessage” 更改字体颜色并将 noDataMessage 对齐到中心
- c++ - c ++读取多维数组作为整数仅用于比较