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

केकफ़्पी में यूनियन सिंटैक्स

बहुत से कोडर स्वयं को किसी ढांचे की कार्यक्षमता तक सीमित रखने का प्रयास करते हैं। मत। ढांचा जो प्रदान करता है उसका प्रयोग करें। यदि इसमें वह कार्यक्षमता नहीं है जो आप चाहते हैं, तो या तो:

  • एक क्लास एक्सटेंशन में अपनी आवश्यक कार्यक्षमता को कोड करें

या

  • अपनी आवश्यकताओं के अनुरूप ढांचे के भीतर कोड को कस्टम स्पिन करें।

अक्सर, डेवलपर्स एक चौकोर खूंटी को एक गोल छेद में हथियाने की कोशिश करते हैं और बहुत अधिक अतिरिक्त काम करते हैं जो वास्तव में केवल कोड को जटिल बनाता है। एक कदम पीछे हटें और पूछें कि आप शुरू करने के लिए ढांचे का उपयोग क्यों कर रहे हैं। यह संरचना को एक असंरचित भाषा में लाता है। यह आपके एप्लिकेशन को बनाने के लिए ठोस पुन:प्रयोज्य आधार प्रदान करता है। यह अपने आप को अंदर रखने और सीमित होने के लिए एक बॉक्स बनने का इरादा नहीं है।

अद्यतन:मुझे पढ़ने में एक मिनट लगा>जटिल खोज शर्तें और आपका उत्तर मिल गया:

$joins = array(
    array(
        'table' => 'test_twos',
        'alias' => 'TestTwo',
        'type' => 'LEFT',
        'conditions' => array(
            'TestTwo.id = TestOne.id',
        )
    ),
    array(
        'table' => 'test_threes',
        'alias' => 'TestThree',
        'type' => 'LEFT',
        'conditions' => array(
        'TestThree.id = TestOne.id',
    )
    )
);

$dbo = $this->getDataSource();
$subQuery = $dbo->buildStatement(
    array(
        'fields' => array('*'),
        'table' => $dbo->fullTableName($this),
        'alias' => 'TestOne',
        'limit' => null,
        'offset' => null,
        'joins' => $joins,
        'conditions' => null,
        'order' => null,
        'group' => null
    ),
    $this->TestOne
);
$query = $subQuery;

$query .= ' UNION ';
$joins = array(
    array(
        'table' => 'test_twos',
        'alias' => 'TestTwo',
        'type' => 'LEFT',
        'conditions' => array(
            'TestTwo.id = TestOne.id',
        )
    ),
    array(
        'table' => 'test_threes',
        'alias' => 'TestThree',
        'type' => 'RIGHT',
        'conditions' => array(
        'TestThree.id = TestOne.id',
        )
    )
);

$dbo = $this->getDataSource();
$subQuery = $dbo->buildStatement(
    array(
    'fields' => array('*'),
    'table' => $dbo->fullTableName($this),
    'alias' => 'TestOne',
    'limit' => null,
    'offset' => null,
    'joins' => $joins,
    'conditions' => null,
    'order' => null,
    'group' => null
    ),
    $this->TestOne
);

$query .= $subQuery;

pr($query);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में LEN () समतुल्य क्या है?

  2. पायथन mysqldb पंक्ति हटाएं

  3. MYSql टॉप 10 और अन्य टोटल

  4. PHP/MySQL त्रुटि संदेश छुपाना

  5. MySQL में डेटाबेस और टेबल कैसे बनाएं और डिलीट करें