cari

Rumah  >  Soal Jawab  >  teks badan

php - Cara menggunakan susunan mengikut medan dalam rangka kerja yii

Bagaimana untuk menyambung pesanan mengikut medan dalam

yii ke dalam orderBy,

, kini sql yang dicetak, dan sql yang saya perlukan adalah seperti ini, sila beritahu saya bagaimana untuk menyelesaikan masalah ini, ini berdasarkan susunan mengikut medan (id, 5, 3, 8) dalam mysql . Sebagai tambahan Satu perkara, saya ingin melaksanakan pengisihan khas medan tertentu dalam rangka kerja Yii Adakah terdapat kaedah lain selain susunan mengikut medan Saya telah menyemak beberapa ralat yang disebabkan oleh simbol "`".

黄舟黄舟2759 hari yang lalu1228

membalas semua(1)saya akan balas

  • 三叔

    三叔2017-06-20 10:09:49

    ->orderBy(["FIELD(step, 'star', 'person', 'team')" => true]) Ia mungkin, tetapi saya tidak melihat kod asas dengan teliti. . . Tetapi ia sepatutnya menyelesaikan masalah

    /**
         * @param array $columns
         * @return string the ORDER BY clause built from [[Query::$orderBy]].
         */
        public function buildOrderBy($columns)
        {
            if (empty($columns)) {
                return '';
            }
            $orders = [];
            foreach ($columns as $name => $direction) {
                if ($direction instanceof Expression) {
                    $orders[] = $direction->expression;
                } else {
                    $orders[] = $this->db->quoteColumnName($name) . ($direction === SORT_DESC ? ' DESC' : '');
                }
            }
    
            return 'ORDER BY ' . implode(', ', $orders);
        }
    

    Ini ialah kaedah untuk menjana pernyataan mengikut urutan, jadi benar tidak mempunyai kesan sebenar, tetapi ia tidak sama dengan SORT_DESC dan kemudian menjadi kosong,

    Cara penulisan yang lebih rasmi adalah seperti ini:

    orderBy([new Expression("FIELD(step, 'star', 'person', 'team')")])

    balas
    0
  • Batalbalas