Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

केकपीएचपी और एचएबीटीएम मॉडल सीमा त्रुटि

कंटेनेबल व्यवहार का उपयोग क्यों न करें

// you would probably want the next line in the app_model ot be able to use it with all models
$this->Post->actsAs = array('Containable')
$params['conditions'] = array(
);
$params['contain'] = array(
    'Media' => array(
        'fields' => array(
            'type', 'path', 'title'
        ),
        'limit' => 1
    )
);
$this->Post->find('all', $params);

संपादित करें:

बस कोशिश की और यह एसक्यूएल मिला (मॉड्यूल <-> टैग):

SELECT `Module`.`id` FROM `modules` AS `Module` WHERE 1 = 1 

और

SELECT `Tag`.`id`, `ModulesTag`.`module_id`, `ModulesTag`.`tag_id` 
FROM `tags` AS `Tag` 
JOIN `modules_tags` AS `ModulesTag` 
  ON (`ModulesTag`.`module_id` IN (1, 2, 3, 4) AND `ModulesTag`.`tag_id` = `Tag`.`id`) 
WHERE `Tag`.`belongs_to` = 'Module' 
ORDER BY `Tag`.`name` ASC 
LIMIT 1

जाहिर है कि वांछित परिणाम वापस नहीं कर सकता, क्योंकि आपको प्रत्येक मॉड्यूल परिणाम के लिए एक प्रश्न करना होगा (जिसके परिणामस्वरूप फिर से बहुत सारे प्रश्न होंगे)।

एक निष्कर्ष के रूप में मैं सभी टैग (मेरे उदाहरण में) वापस कर दूंगा क्योंकि बहुत अधिक परिणाम पंक्तियों में ओवरहेड बहुत अधिक प्रश्नों के ऊपरी भाग से बेहतर है ..



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या मैं डिफ़ॉल्ट पेजिनेशन को ओवरराइड किए बिना कस्टम क्वेरी को पेजिनेट कर सकता हूं?

  2. SQL के साथ कई फ़ील्ड को एक में जोड़ें

  3. MySQL के साथ स्प्रिंग बूट CRUD उदाहरण

  4. MySQL में समान मान प्राप्त करने के लिए एकाधिक तालिकाओं में शामिल होना

  5. आप mysql के लिए regexp का उपयोग करके अक्षरों की संख्या या विषम संख्याओं का मिलान कैसे करते हैं?