Size: a a a

Sequelize - community (eng/ru)

2019 September 19

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
If you need only no admin user, why does you need admin table?
источник

FP

Francesco Pace in Sequelize - community (eng/ru)
I've these queries from SQL syntax

// Admins
SELECT *
FROM gym_user u
WHERE EXISTS (SELECT * FROM gym_admin a
                 WHERE a.gym_user_id = u.id);

// Simple users
SELECT *
FROM gym_user u
WHERE NOT EXISTS (SELECT * FROM gym_admin a
                 WHERE a.gym_user_id = u.id);
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Francesco Pace
I've some doubts about a query (I'm really newbie to node.js and sequelize)
Better read manual before practise
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Francesco Pace
async getAdmins() {
       let where = {
           gymUserId: {
               [Sequelize.Op.ne]: null
           }
       }
       return GymUser.findAll({
           include: [{
               model: GymAdmin,
               where: where
           }]
       })
   }
You need check like this but check that userId in admin table is null
источник

FP

Francesco Pace in Sequelize - community (eng/ru)
You're right
источник

FP

Francesco Pace in Sequelize - community (eng/ru)
I've done
источник

FP

Francesco Pace in Sequelize - community (eng/ru)
but with a RAW Query, all works
источник

FP

Francesco Pace in Sequelize - community (eng/ru)
For example:
—————-
let where = {
           gymUserId: {
               [Sequelize.Op.ne]: null
           }
       }
       return GymUser.findAll({
           include: [{
               model: GymAdmin,
               required: false,
               where: where
           }]
       })

—————
SELECT *
FROM gym_user AS gymUser
LEFT OUTER JOIN gym_admin AS gymAdmin
ON gymUser.id = gymAdmin.gym_user_id
AND gymAdmin.gym_user_id IS NOT NULL;
источник

FP

Francesco Pace in Sequelize - community (eng/ru)
I've to change "AND" clause to "WHERE", in this way:
SELECT *
FROM gym_user AS gymUser
LEFT OUTER JOIN gym_admin AS gymAdmin
ON gymUser.id = gymAdmin.gym_user_id
WHERE gymAdmin.gym_user_id IS NOT NULL;
источник

YZ

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

FP

Francesco Pace in Sequelize - community (eng/ru)
Francesco Pace
I've to change "AND" clause to "WHERE", in this way:
SELECT *
FROM gym_user AS gymUser
LEFT OUTER JOIN gym_admin AS gymAdmin
ON gymUser.id = gymAdmin.gym_user_id
WHERE gymAdmin.gym_user_id IS NOT NULL;
this is the raw query...
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
You can use findAll + include for this
источник

FP

Francesco Pace in Sequelize - community (eng/ru)
Yaroslav Zhymkov
You can use findAll + include for this
I've done, but the script add a AND clause not a WHERE
источник

FP

Francesco Pace in Sequelize - community (eng/ru)
probably, I'm missing something
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Francesco Pace
I've done, but the script add a AND clause not a WHERE
Yes, it's rigth logic
источник

FP

Francesco Pace in Sequelize - community (eng/ru)
Yaroslav Zhymkov
Yes, it's rigth logic
Yes. But if I would to use WHERE clause?
источник

FP

Francesco Pace in Sequelize - community (eng/ru)
SELECT *
FROM gym_user AS gymUser
LEFT OUTER JOIN gym_admin AS gymAdmin
ON gymUser.id = gymAdmin.gym_user_id
AND gymAdmin.gym_user_id IS NOT NULL;

to

SELECT *
FROM gym_user AS gymUser
LEFT OUTER JOIN gym_admin AS gymAdmin
ON gymUser.id = gymAdmin.gym_user_id
WHERE gymAdmin.gym_user_id IS NOT NULL;
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
Francesco Pace
Yes. But if I would to use WHERE clause?
Move where up to next level
источник

FP

Francesco Pace in Sequelize - community (eng/ru)
it doesn't work
источник

YZ

Yaroslav Zhymkov in Sequelize - community (eng/ru)
It's should be equal level as include
источник