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

Zend\Db:सबक्वेरी से चुनें

संपादित करें :दरअसल, अब मैं देख रहा हूं कि मेरी क्वेरी त्रुटिपूर्ण थी। यह MySQL के साथ अपेक्षित रूप से काम नहीं करेगा, जिसका अर्थ है कि मुझे अभी भी विशेष प्रश्न लिखना है। देखें GROUP_CONCAT चेंज ग्रुप बाय ऑर्डर

Zend\Db\Sql\Select . के कोड को पढ़ने के बाद मुझे ये पंक्तियाँ मिलीं:

if ($table instanceof Select) {
    $table = '(' . $this->processSubselect($table, $platform, $driver, $parameterContainer) . ')';
} else {
    $table = $platform->quoteIdentifier($table);
}

तो उत्तर वास्तव में काफी सरल है, मुझे केवल एक Zend\Db\Sql\Select प्रदान करना था। from() . पर आपत्ति करें , इसे Zend\Db\Sql\Expression . में लपेटे बिना जैसे मैं ZF1 के साथ करता था।

कोड उदाहरण:

$adapter = $this->getAdapter(); // Returns Zend\Db\Adapter\Adapter
$sql = new Zend\Db\Sql\Sql($adapter);

$from = $sql->select()
    ->from(static::$table)
    ->columns(array(
        'full_name',
        'value',
    ))
    ->order('id DESC');

$select = $sql->select()
    ->from(array(
        'subtable' => $from,
    ))
    ->columns(array(
        'full_name' => 'full_name',
        'value' => new Expression('GROUP_CONCAT(value)'),
    ))
    ->group('full_name')
    ->order('full_name DESC');

$selectString = $sql->getSqlStringForSqlObject($select);

$resultSet = $adapter->query($selectString, $adapter::QUERY_MODE_EXECUTE);

return $resultSet->toArray();



  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 में न्यूज़लेटर के लिए डेटाबेस डिज़ाइन करने के लिए मार्गदर्शिका

  2. पीडीओ मैसकल के साथ REGEXP

  3. मैं आसानी से जन्मदिन से उम्र कैसे निर्धारित करूं? (php)

  4. विंडोज़ पर रेल 3 के लिए mysql2 स्थापित नहीं कर सकता

  5. सामान्य त्रुटि:1005 एक प्रमुख बाधा बनाते समय - Laravel