2017-09-21 19 views
1

私はmysqlデータベースに接続するためにsequelizeを使用しています。 私はデータベース内に2つのテーブルApplicationVersionとProviderを持っています。両方のテーブルが関連付けられています。 ApplicationVersionには外部キーとしてプロバイダ 'uuid'があります。Sequelize - 降順で値を取得

私のProviderテーブルには、weightという列があります。この重みフィールドは整数値を持ちます。私は降順で要素を表示したい。だから私はこのラインをorder: [Sequelize.col('weight'), 'DESC'],私の機能で使用しましたが、動作しません。私はそれから注文を削除すると機能はうまく動作します。

はここで機能だ:

function getactiveProvidersList(user, callback) { 
     Provider.findAll({where: {enabled: 1}, 
      include: [{ 
        model: ApplicationVersion, 
        where: {'active': true}, 
       }], 
       order: [Sequelize.col('weight'), 'DESC'], 
      }).then(function(providers) { 
       callback(providers); 
       }); 
    } 

あなたは私にそれをやっても、私はこれをめちゃくちゃよどこの正しい方法を教えてくださいでした。

提案が役に立ちます。ありがとう!

答えて

0

これを試してください。

function getactiveProvidersList(user, callback) { 
      Provider.findAll({where: {enabled: 1}, 
       include: [{ 
         model: ApplicationVersion, 
         where: {'active': true}, 
        }], 
        order: ['weight','DESC'], 
       }).then(function(providers) { 
        callback(providers); 
        }); 
     } 

この上の多くの提案は、ページの下部

http://docs.sequelizejs.com/manual/tutorial/querying.html

+0

でもここにありますが、それらの両方を試みたが、彼らは動作しません。 'Provider.Literal'は関数ではなく、' Provider.fn'は関数 –

+0

'order:[['weight'、 'DESC']、]、'これは私のために働いた。ありがとう@ Legman –

+0

ちょうどそれを更新しましたが、あなたは解決策を見つけました。 – Legman

関連する問題