मैं केकेपीएचपी 3 का उपयोग कर रहा हूं, मुझे एकाधिक तालिकाओं पर कच्ची SQL क्वेरी चलाने की आवश्यकता है। केकेपीएचपी 2 में, यह किसी भी मॉडल ($this->Messages->query("select..")
) पर क्वेरी() विधि का उपयोग करके किया जा सकता है।केकेपीएचपी 3 रॉ एसक्यूएल क्वेरी
$aumTable = TableRegistry::get('Messages');
$sql = "SELECT (SELECT COUNT(*) FROM `messages`) AS `Total_Count`,
(SELECT COUNT(*) FROM `messages_output`) AS `Total_Output_Count`,
(SELECT COUNT(*) FROM `messages_output` WHERE `is_success`=1) AS `Total_Successful_Output_Count`,
(SELECT COUNT(*) FROM `messages_output` WHERE `is_success`=0) AS `Total_Error_Output_Count`,
(SELECT COUNT(*) FROM `users`) AS `Total_User_Count`;";
// to run this raw SQL query what method should i use? query() doesn't work..
// $result = $aumTable->query($sql); ??
// $result = $aumTable->sql($sql); ??
आप 3 मॉडल प्रलेखन CakePHP के लिए लिंक प्रदान कर सकते हैं जहाँ मैं कर सकते हैं:
मैं विधि है कि मुझे CakePHP 3. बाद में एक एसक्यूएल क्वेरी चलाने के लिए अनुमति देता है कोड का टुकड़ा मैं उपयोग कर रहा हूँ की जरूरत है यह जानकारी पाएं, यह भी सहायक होगी। मैं गूगल पर खोज की कोशिश की लेकिन केवल आप ConnectionManager जोड़ने की जरूरत है CakePHP 2.
** http की तरह कुछ के साथ अपने एसक्यूएल निष्पादित ttp: //book.cakephp.org/3.0/en/orm/database-basics.html#database-queries** – ndm
धन्यवाद। उत्तर है: कच्चे एसक्यूएल प्रश्नों को चलाने के लिए हमें टेबल रजिस्ट्री के बजाय कनेक्शन प्रबंधक का उपयोग करने की आवश्यकता है। – Ananth