Content::getAll() 

\nn\t3::Content()->getAll($constraints = [], $getRelations = false, $localize = true); 

Get multiple content elements (from tt_content).

The data records are localized automatically - except $localize is set to false is set to false. See \nn\t3::Content()->get() for more $localize options.

Based on a list of UIDs:

\nn\t3::Content()->getAll( 1 );
\nn\t3::Content()->getAll( [1, 2, 7] );
Copied!

Based on filter criteria:

\nn\t3::Content()->getAll( ['pid'=>1] );
\nn\t3::Content()->getAll( ['pid'=>1, 'colPos'=>1] );
\nn\t3::Content()->getAll( ['pid'=>1, 'CType'=>'mask_section_cards', 'colPos'=>1] );
Copied!
@param mixed $ttContentUid Content-Uids or constraints for querying the data
@param bool $getRelations Also get relations / FAL?
@param bool $localize Translate the entry?
@return array

Source Code 

public function getAll($constraints = [], $getRelations = false, $localize = true)
{
	if (!$constraints) return [];
	// ist es eine uid-Liste, z.B. [1, 2, 3]?
	$isUidList = count(array_filter(array_flip($constraints), function ($v) {
			return !is_numeric($v);
		})) == 0;
	$results = [];
	// ... dann einfach \nn\t3::Content()->get() verwenden
	if ($isUidList) {
		foreach ($constraints as $uid) {
			if ($element = $this->get($uid, $getRelations, $localize)) {
				$results[] = $element;
			}
		}
		return $results;
	}
	// und sonst: eine Query bauen
	// Datensatz in der Standard-Sprache holen
	$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tt_content');
	$query = $queryBuilder
		->select('*')
		->from('tt_content')
		->addOrderBy('sorting', \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING)
		->andWhere($queryBuilder->expr()->eq('sys_language_uid', 0));
	if (isset($constraints['pid'])) {
		$pid = $constraints['pid'];
		$query->andWhere($queryBuilder->expr()->eq('pid', $queryBuilder->createNamedParameter($pid)));
	}
	if (isset($constraints['colPos'])) {
		$colPos = $constraints['colPos'];
		$query->andWhere($queryBuilder->expr()->eq('colPos', $queryBuilder->createNamedParameter($colPos)));
	}
	if ($cType = $constraints['CType'] ?? false) {
		$query->andWhere($queryBuilder->expr()->eq('CType', $queryBuilder->createNamedParameter($cType)));
	}
	$data = $query->executeQuery()->fetchAllAssociative();
	if (!$data) return [];
	foreach ($data as $row) {
		if ($row = $this->localize('tt_content', $row, $localize)) {
			if ($getRelations) {
				$data = $this->addRelations($data);
			}
			$results[] = $row;
		}
	}
	return $results;
}
Copied!