ऑर्डर रखने के लिए मुझे यही एकमात्र समाधान मिला है। एक व्यंजक का प्रयोग करें, भले ही वह क्षेत्र मौजूद हो या नहीं। इस तरह आप जिस ऑर्डर की अपेक्षा करेंगे, वह ऑर्डर होगा:
if (TRUE) {
// To keep the order of the fields we have to use this hacky way.
// Use a function that will not modify the string
$query->addExpression("IFNULL(table_name.field_name, '')", 'field_name_alias');
} else {
$query->addExpression(':field', 'field_name_alias', array(':field' => NULL));
}