我想從類別$ cat中只選擇表中的$ limit記錄。TYPO3 Extbase:合併多個查詢
foreach($cats as $cat) {
$query = $this->createQuery();
$query->matching($query->equals('type', $cat));
$query->setLimit((int)$limit);
$result[] = $query->execute();
}
是否可以將查詢結果合併爲一個查詢結果?
Ralf基於結果數組中的任何字段,需要什麼樣的排序... –
我按日期排序數組 public function SortObjectByDatum($ arr){ \t usort($ arr,functi上($一個,$ B){ \t \t \t 如果\t($ A-> getDatum()== $ B-> getDatum()){ \t \t返回0; \t \t} \t \t return($ a-> getDatum()> $ b-> getDatum())? -1:1; \t}); \t return $ arr; \t} – Ralf
如果您只想得到每個類別的幾個結果,這是首選解決方案。 'usort()'仍應該表現良好。 要做到這一點只有一個查詢,你需要在你的語句或子查詢中使用UNION,但兩者都不被extbase支持。你需要手動建立你的查詢並使用'$ query-> statement()'來執行它,但它更復雜,只有少數結果沒有任何性能優勢。所以我不會推薦它。 –