2011-09-04 8 views
10

मैं ड्रूपल में 2 उपनाम के रूप में एक तालिका से 1 कॉलम प्राप्त करना चाहता हूं। इस तरह लेकिन Drupal की क्वेरी तरीकों .: साथ कुछउपनाम के साथ ड्रूपल से कैसे चुनें

SELECT name AS label, name AS value FROM node WHERE 1 

यह Drupal कोड सही उर्फ ​​निर्धारित नहीं करता है:

$query = db_select('node', 'node'); 
$query->fields('node', array('label' => 'name','value' => 'name')); 

यह की तरह कुछ देता है: [name] => Science [node_name] => Science

वहाँ करने के लिए कोई तरीका है उपनाम सेट करें?

उत्तर

31

'फ़ील्ड' विधि आपको उपनाम सेट करने की अनुमति नहीं देती है। यदि आप दस्तावेज़ों को देखते हैं, तो फ़ील्ड के लिए दूसरा तर्क एक अनुक्रमित सरणी है, इसलिए केवल संख्याएं।

http://api.drupal.org/api/drupal/includes--database--select.inc/function/SelectQuery::fields/7

आप उपनाम की जरूरत है, तो आप 'addField' का उपयोग करने की जरूरत है।

http://api.drupal.org/api/drupal/includes--database--select.inc/function/SelectQuery::addField/7

$query = db_select('node', 'n'); 

$query->addField('n', 'name', 'label'); 
$query->addField('n', 'name', 'value'); 
+0

धन्यवाद। मैंने प्रलेखन की खोज करने की कोशिश की, लेकिन या तो दस्तावेज़ बुरी तरह से संरचित है, या Google इसे अनुक्रमित नहीं करता है। –

+0

सोच रहा था कि उम्र के लिए यह कैसे करें - धन्यवाद! –