Db::findNotIn() 

\nn\t3::Db()->findNotIn($table = '', $colName = '', $values = [], $ignoreEnableFields = false); 

Reverse of \nn\t3::Db()->findIn():

Finds ALL entries that do NOT contain a value from the $values array in the $column column. Also works if the frontend has not yet been initialized.

// SELECT FROM fe_users WHERE uid NOT IN (1,2,3)
\nn\t3::Db()->findNotIn('fe_users', 'uid', [1,2,3]);

// SELECT FROM fe_users WHERE username NOT IN ('david', 'martin')
\nn\t3::Db()->findNotIn('fe_users', 'username', ['david', 'martin']);
Copied!
@param string $table
@param string $colName
@param array $values
@param boolean $ignoreEnableFields
@return array

Source Code 

public function findNotIn( $table = '', $colName = '', $values = [], $ignoreEnableFields = false )
{
	$queryBuilder = $this->getQueryBuilder( $table );
	$queryBuilder->select('*')->from( $table );
	// Alle Einschränkungen z.B. hidden oder starttime / endtime entfernen?
	if ($ignoreEnableFields) {
		$queryBuilder->getRestrictions()->removeAll();
	}
	// "deleted" IMMER berücksichtigen!
	if ($deleteCol = $this->getDeleteColumn( $table )) {
		$queryBuilder->andWhere( $queryBuilder->expr()->eq($deleteCol, 0) );
	}
	$values = $this->quote( $values );
	$expr = $queryBuilder->expr()->notIn( $colName, $values );
	$queryBuilder->andWhere( $expr );
	$rows = $queryBuilder->executeQuery()->fetchAllAssociative();
	return $rows;
}
Copied!