2017-08-23 3 views
0

J'ai 2 catégorie 'cele_birth' et 'cele_anniv'.Je veux obtenir les deux valeurs en une seule requête en drupal 7.J'ai essayé comme ci-dessous.Je retourne seulement cele_anniv résultat.Comment aller chercher à la foisaller chercher deux valeur de catégorie dans un seul tableau

$result = db_query('select response from {soap_service} where category = :category',array(':category' => 'cele_birth',':category' => 'cele_anniv')); 
foreach($result as $record){ 
$data = $record->response; 
$data = drupal_json_decode($data); 
print_r($data); 
} 

Répondre

1

Vous devez utiliser OU condition sql

$result = db_query('select response from {soap_service} where category = :category1 OR category = :category2',array(':category1' => 'cele_birth',':category2' => 'cele_anniv')); 
0

Siddharth réponse est correcte mais ne convient pas quand nous avons beaucoup de valeurs à comparer. Il y a un autre travail autour, qui réduira l'écriture de la condition OU plusieurs fois en utilisant l'opérateur IN.

$result = db_query('select response from {soap_service} where category in (:category)',array(':category' => array('cele_birth', 'cele_anniv'))); 

Plus de détails sur l'opérateur IN se trouve ici SQL in operator