जवाबों:
db_update()
किसी भी इंटरफेस है कि join()
/ innerJoin()
/ आदि को लागू नहीं करता है । इसलिए मुझे लगता है कि आप db_query()
क्वेरी स्ट्रिंग को मैन्युअल रूप से उपयोग करने और लिखने के साथ फंस गए हैं।
$sql = "
UPDATE field_data_field_TEST as ft
left join node as n on ft.entity_id = n.nid
set n.type = :type1
where n.type = :type2";
$args = array(':type1' => 'test', ':type2' => 'foo');
db_query($sql, $args);
db_query()
। यदि आप प्रलेखन से सख्ती से चिपके रहना चाहते हैं तो निश्चित रूप से, एक उपश्रेणी के साथ एक शर्त एक विकल्प होगा। लेकिन जैसा कि आप कहते हैं, यह कम परफ़ॉर्मर होगा और मेरे लिए एक सीधी सीक्वल क्वेरी का उपयोग करने की तुलना में कोई 'बेहतर' नहीं है
Update
किसी भी join
कार्य को लागू नहीं करता है, फिर भी इस मामले के लिए सामान्य क्वेरी का उपयोग करने की आवश्यकता है।