Nachdem ein Problem mit Lehre Query Builder arbeiten und NICHT IN AussagenDoctrine2 Querybuilder NICHT IN Aussage nicht
Ich habe Tabelle mit vier Spalten und einige Daten:
id | directory_id| user_id | role_id
1 1 10 null
2 1 5 null
3 1 null 1
4 1 7 null
Ich möchte alle Felder auszuwählen, die nicht innerhalb von zwei gegebenen Arrays von IDs.
$userIds = [10, 5];
$roleIds = [1];
Meine Frage:
$this->createQueryBuilder('da')
->where('da.directory = :directory')
->andWhere('da.user NOT IN (:userIds)')
->andWhere('da.role NOT IN (:roleIds)')
->setParameters([
'directory' => $directory,
'userIds' => $userIds,
'roleIds' => $roleIds,
])
->getQuery()
->getResult();
wie ich es verstehe sollte ich die letzte Zeile zurückgeben (#id 4), aber es kam nicht.
Vielleicht weiß jemand, was falsch ist?
NOT IN ist ein bisschen schwierig, wenn es um NULL geht. Wenn NULL zurückgegeben wird, wird NOT IN falsch und es werden überhaupt keine Zeilen zurückgegeben. Deshalb existiere ich normalerweise NICHT VORHANDEN. – jarlh