typo3 query: ORDER BY RAND()

Ich brauchte eine Abfrage, die mir 5 beliebige Items zurückliefert. Meine Lösung:

//fetch 5 IDs from the mm table
$idArr = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows( 'uid_local', 'tx_something_user_userarticles_article_mm','', '', 'RAND()', '5' );
$ids = array();
//save the IDs to $ids
foreach($idArr as $k => $v){
	$ids[] = $v['uid_local'];
}
//now for the real query
$query = $this->createQuery();
$constraints = array(
	$query->in('uid', $ids),
);
$query->matching($query->logicalAnd($constraints));
return $query->execute(); 

Funktioniert. Ob es bessere Lösungen gibt, kann ich natürlich nicht sagen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.