2017-05-01 3 views
0

Node.jsをバックエンドとしてSequelize expressを使用しています。後継のデータがありますが、別のテーブルにインクルードする必要がありますが、これらのデータの一部はnullです。ヌル。NullであってもSequelizeを含む

質問:データは、それが利用可能かどうはどのように私はいくつかのデータを返すことができず、データが

router.get("/scheduled/:id", function(req, res, next) { 

    models.Order.findOne({ 

     where: { 

      id: req.params.id 



     }, 
     attributes: ['orderStatus', 'id', 'serviceId', 'orderDescription', 'orderScheduledDate'], 
     include: [{ 
      model: models.User, 
      attributes: ['firstName', 'phoneNumber'] 
     }] 
    }).then(function(data) { 

     res.status(200).send({ 
      data: data, 
      serviceName: data["serviceId"] 
     }); 

    }); 

}); 

がある場合は、他のヌルを返す私がしたい:ユーザが存在しない場合、結果はnullを返す必要があります注文および返品注文の詳細とユーザーがnullの場合は返されます。

答えて

3

しかしながら、従来モデルのwhere句はinner joinを作成し、サブモデルに一致している唯一のインスタンスを返します。すべての親インスタンスを返すには、チェック詳細はrequired: falseを追加する必要がありますnested-eager-loading

var users = require('./database/models').user; 

    models.Order.findOne({ 
    where: { 
     id: req.params.id 
    },attributes: ['orderStatus','id','serviceId','orderDescription','orderScheduledDate'], 
    include: [ 
     {model: users,required: false, 
     attributes: ['firstName','phoneNumber'] 
     } 
    ] 
}).then(function(data) { 

    res.status(200).send({data : data,serviceName : data["serviceId"]}); 

}); 
+0

多くのthnx仲間、私はちょうどどこを削除し、今私はそれがすでにやることが必要関係ません、親データを返すことができます。 – Faisal

+0

私の喜びとあなたは仲間を歓迎する – Adiii

関連する問題