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

सिद्धांत 2 mysql FIELD द्वारा क्रम में कार्य करता है

जेरेमी हिक्स, आपके एक्सटेंशन मुझे नहीं पता था कि आपके कार्य को सिद्धांत से कैसे जोड़ा जाए, लेकिन अंत में मुझे इसका उत्तर मिल गया।

$doctrineConfig = $this->em->getConfiguration();
$doctrineConfig->addCustomStringFunction('FIELD', 'DoctrineExtensions\Query\Mysql\Field');

मुझे FIELD चाहिए मैं IN . द्वारा चुनी गई मेरी संस्थाओं को ऑर्डर करने के लिए कार्य करता हूं अभिव्यक्ति। लेकिन आप इस फ़ंक्शन का उपयोग केवल SELECT, WHERE, BETWEEN . में कर सकते हैं क्लॉज, ORDER BY में नहीं है .

समाधान:

$qb
            ->select("r, field(r.id, " . implode(", ", $ids) . ") as HIDDEN field")
            ->from("Entities\Round", "r")
            ->where($qb->expr()->in("r.id", $ids))
            ->orderBy("field");

field जोड़ने से बचने के लिए उपनाम आपकी परिणाम पंक्ति में आपको HIDDEN put डालना होगा खोजशब्द। तो यह कैसे IN . में ऑर्डर मानों को सक्षम करने के लिए है सिद्धांत 2.2 में अभिव्यक्ति।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एकाधिक प्रश्नों के लिए PDO समर्थन (PDO_MYSQL, PDO_MYSQLND)

  2. बड़ी sql फ़ाइल आयात करते समय MySQL सर्वर चला गया है

  3. प्रति उपयोगकर्ता नवीनतम तिथि वाली पंक्ति का चयन करें

  4. 1970 से पहले की तारीखों के लिए स्ट्रेटोटाइम का उपयोग करना

  5. MySQL समय को कैसे बदलें