我有一个extbase查询结果集,其偏移量为“按日期排序的15个对象”(crdate DESC),因此会跳过15个最新元素。现在,我的实际结果集的排序应按不同的字段排序,例如,标题'字段。
我有这种情况,因为我之前在网站上的不同插件中显示最新的15个元素。在网站的底部,我想显示存档列表中除前15个元素之外的所有元素,这些元素具有按日期ASC或标题DESC过滤的过滤功能。
我想使用默认的Extbase API是不可能的,我必须自己构建一个mySQL查询。这样的查询怎么样?
感谢!!!
答案 0 :(得分:1)
我发现在mySQL中可以使用'封装'查询来执行此操作,例如以下
SELECT *
FROM (
SELECT *
FROM `tx_dentalarticle_domain_model_article`
WHERE `type` = 0
ORDER BY `tx_dentalarticle_domain_model_article`.`date` DESC
LIMIT 15 , 9999
) AS articles
ORDER BY `title` DESC
要在extbase中使用它,你必须使用原始语句,如:
$query = $this->createQuery();
$query->getQuerySettings()->setReturnRawQueryResult(TRUE);
$query->statement($sql);
return $query->execute();