Drupal 7 - Database API - Utiliser IS NULL et IS NOT NULL

Quand l'on fait des jointures on veut parfois récupérer les enregistrements dont un champ n'est pas renseigné ou au contraire que ceux qui le sont.

Pour cela en SQL on utilise le "IS NULL" ou "IS NOT NULL".

Pour faire la même chose avec la database API de Drupal 7 il faut utiliser les methodes isNull() et isNotNull().

Exemple avec isNull() :

$query = db_select('scald_atoms', 'a');
$query->fields('a', array('sid','title'));
$query->leftjoin('table_name','table_alias','table_alias.entity_id = a.sid');
$query->isNull('table_alias.mon_field_value');
$query->execute();
$query->fetchAllAssoc('nid');

Exemple avec isNotNull() :

$query = db_select('scald_atoms', 'a');
$query->fields('a', array('sid','title'));
$query->leftjoin('table_name','table_alias','table_alias.entity_id = a.sid');
$query->isNotNull('table_alias.mon_field_value');
$query->execute();
$query->fetchAllAssoc('nid');

 

Ajouter un commentaire

Ne sera pas publié
CAPTCHA
Désolé, pour ça, mais c'est le seul moyen pour éviter le spam...