php - Cara menggunakan susunan mengikut medan dalam rangka kerja yii
黄舟
黄舟 2017-06-20 10:07:49
0
1
1214
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 "`".

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

membalas semua(1)
三叔

->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')")])
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan