Size: a a a

Sequelize - community (eng/ru)

2018 November 19

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
ID:616026938
Transactions.associate = (models) => {
       Transactions.belongsTo(models.Currency, {
           foreignKey: 'send_currency_type',
           as: 'SType'
       });
       Transactions.belongsTo(models.Currency, {
           foreignKey: 'receive_currency_type',
           as: 'RType'
       });
   }
yes, but in this example, we only have "sType"
источник

NK

ID:616026938 in Sequelize - community (eng/ru)
what do you mean ?
источник

NK

ID:616026938 in Sequelize - community (eng/ru)
I join Currency table twice. first of all is send_currency_type and second receive_currency_type
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
display me where you join table twice
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
ID:616026938
exports.searchTransaction = (req, res) => {
   models.Transaction.findAll({
       attributes: ['id','secretCode','sender_fullname', 'sender_passport_series', 'sender_passport_number', 'send_currency_type', 'send_amount_in_number', 'createdAt'],
       include: [{
           model: models.Currency,
           attributes: ['id', 'name'],
           as: 'CType'
       }],
       where: {
           secretCode: req.body.secretCode
       }
   }).then(result => {
       
       const obj = { test:{
           transaction_id: result[0].id,
           secretCode: result[0].secretCode,
           sender_fullname: result[0].sender_fullname,
           sender_passport_info: ${result[0].sender_passport_series} ${result[0].sender_passport_number},
           amount: result[0].send_amount_in_number,
           currency: result[0].Currency.name,
           createdAt: result[0].createdAt
       }
       }
       const array = Object.values(obj);
       res.send({
           array,
           result
       })
   });
}
because in code example here, i see only one join.
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
My advice is try to use query without any filters, just join, do you have all data or no after this?
источник

NK

ID:616026938 in Sequelize - community (eng/ru)
Yaroslav Zhymkov
because in code example here, i see only one join.
in this query I only need one join
источник

NK

ID:616026938 in Sequelize - community (eng/ru)
in second request I am gonna need second one
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
how do you send second request?
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
is it query to db?
источник

NK

ID:616026938 in Sequelize - community (eng/ru)
yes
источник

NK

ID:616026938 in Sequelize - community (eng/ru)
I haven't sent it yet
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
when do you have problem?
источник

NK

ID:616026938 in Sequelize - community (eng/ru)
ok let me explain. I have to save currency type of sending and recieving transactions
источник

NK

ID:616026938 in Sequelize - community (eng/ru)
to do that, I have to connect currency table two times right ?
источник

NK

ID:616026938 in Sequelize - community (eng/ru)
if I do that it returns null
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
it is question about understanding work proces in SQL
источник

NK

ID:616026938 in Sequelize - community (eng/ru)
yes but how to handle it in sequelize
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
In sql you can to join twice, sequelize don't  interferes it so i advice you to remove all condition from query and check again
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
include logs in connect options (check docs)
display us correct query to db
источник