2012-01-08 101 views
2

我創建了一個基於布爾字段被檢查的圖像拉。現在我想擴展該條件邏輯以便從類別中選擇,使用選擇列表或分類列表。這裏是我有:Drupal 7 EntityFieldQuery使用兩個字段

function ycs_list() { 
    $query = new EntityFieldQuery; 
    $query->entityCondition('entity_type', 'node') 
->entityCondition('bundle', YCS_NODE_TYPE) 
    ->propertyCondition('status', 1) 
    ->fieldCondition('field_active_image', 'value', 1, '='); 
    $result = $query->execute(); 
    return $result; 
} 

我怎樣才能擴大這使用兩個fileds?如果我要使用分類列表,我會使用除EntityFieldQuery之外的其他東西嗎?或者它只是一個附加條件?

回答

1

您可以隨意添加儘可能多的條件到EntityFieldQuery,並且隨着詞彙表通過Drupal 7中的字段鏈接到節點,您可以很容易地包含它們。唯一需要注意的是,術語引用字段中的術語ID的列名是tid而不是value,在很多情況下使用該名稱。

以下假定您的長期參考場被命名爲field_my_term_field

$query = new EntityFieldQuery; 
$query->entityCondition('entity_type', 'node') 
    ->entityCondition('bundle', YCS_NODE_TYPE) 
    ->propertyCondition('status', 1) 
    ->fieldCondition('field_active_image', 'value', 1, '=') 
    ->fieldCondition('field_my_term_field', 'tid', $the_term_id); 

$result = $query->execute(); 
return $result;