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

विदेशी कुंजी के बिना दो संस्थाओं में शामिल होने के लिए createNativeQuery का उपयोग करना

मुझे लगता है कि आपको स्पष्ट रूप से id add जोड़ना होगा सेलेक्ट क्लॉज में:

SELECT s.id, s.subcategory_id, s.type, IF(s.type = 2, c2.name, c3.name) as name, c2.id as c2id, c3.id as c3id
    FROM show_subcategory s
    LEFT JOIN category2 c2 ON (s.type = 2 AND s.subcategory_id = c2.id)
    LEFT JOIN category3 c3 ON (s.type = 3 AND s.subcategory_id = c3.id)
    WHERE s.category1_id = ? ORDER BY s.order_list

और परिणामसेट को निम्नानुसार अनुकूलित करें:

$rsm = new ResultSetMapping;
$rsm->addEntityResult('Acme\CoreBundle\Entity\ShowSubcategory', 's');
$rsm->addFieldResult('s', 'id', 'id');
$rsm->addFieldResult('s', 'subcategory_id', 'subcategoryId');
$rsm->addFieldResult('s', 'type', 'type');
$rsm->addFieldResult('s', 'order_list', 'orderList');

$rsm->addJoinedEntityResult('Acme\CoreBundle\Entity\Category2' , 'c2', 's', 'category2');
$rsm->addFieldResult('c2', 'c2id', 'id');
$rsm->addFieldResult('c2', 'name', 'name');

$rsm->addJoinedEntityResult('Acme\CoreBundle\Entity\Category3' , 'c3', 's', 'category3');
$rsm->addFieldResult('c3', 'c3id', 'id');
$rsm->addFieldResult('c3', 'name', 'name');



  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. एकाधिक चयन पोस्ट जावा 8 के साथ संघ क्वेरी

  3. MySQL:उस तालिका से डेटा का चयन करें जहां दिनांक वर्तमान सप्ताह और वर्तमान माह में आता है

  4. स्वच्छ स्थापित VestaCP

  5. एक्लिप्स का उपयोग करके अमेज़ॅन आरडीएस तक पहुंचने में असमर्थ