Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मैं अनुक्रम में उप-उप बाल मॉडल में शर्तों को कैसे जोड़ूं जो मेरे माता-पिता मॉडल को findAndCountAll में प्रभावित करना चाहिए?

ठीक है तो मैंने समाधान निकाला लेकिन जॉइन के साथ एक कच्ची क्वेरी जोड़ना जिसमें मैंने अपनी आवश्यक शर्तों को जोड़ा जहां भी मुझे चाहिए और मुख्य मॉडल की आईडी प्राप्त की। फिर मैंने उन आईडी को जोड़ने के लिए अनुक्रम का उपयोग करके डेटा प्राप्त किया जहां खंड। मेरा कोड अब इस तरह दिखता है।

const { limit, offset } = dbHelpers.GetPagination(
    req.query.limit,
    req.query.offset
);

let querySting = "(SELECT count(DISTINCT p.id) FROM ModelA p " +
    "JOIN ModelB cp ON cp.pId = p.id " +
    "JOIN ModelC cs ON cs.cpId = cp.id " +
    "JOIN ModelD ms ON ms.csId = cs.id " +
    "LEFT JOIN ModelE sa ON sa.msId = ms.id " +
    "LEFT JOIN ModelF pp ON pp.msId = ms.id " +
    "LEFT JOIN ModelG sta ON sta.ppId = pp.id " +
    "LEFT JOIN ModelH ol ON ol.cdId = cd.id " +
    "WHERE "   //you can add your conditions here
    + " ORDER BY p.id desc LIMIT  " + offset + ",  " + limit + ")"


const rawQuery = await models.sequelize.query(querySting,
    { type: QueryTypes.SELECT })
const Ids = rawQuery.map(result => result.id)

const results = await models.ModelA.findAndCountAll({
    where: {
        id: Ids
    },
    include: [
        {
            model: models.ModelB,
            as: "ModelB",
            include: [
                {
                    model: models.ModelC,
                    separate: true,
                },
                {
                    model: models.ModelD,
                    separate: true,
                    include: [
                        {
                            model: models.ModelE,
                            separate: true,
                                            {
                            model: models.ModelF,
                            separate: true,
                        },
                    ],
                },
            ],
        },
    ],
},
    {
        model: models.ModelG,
        include: [
            {
                model: models.ModelH,
                as: "ModelH",
            },
        ],
    },
                ],
            });



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. InnoDB बनाम MyISAM में MySQL परमाणु अद्यतन

  2. रेल एक श्रेणी के साथ क्लॉज हैश सिंटैक्स का उपयोग करके प्रश्नों में `OR 1=0` क्यों जोड़ रहा है?

  3. हाइबरनेट के साथ ऑटो इंक्रीमेंटेड कंपोजिट आईडी सीक्वेंस की मैपिंग में व्यवहार की व्याख्या करें

  4. एसक्यूएल चुनिंदा रिटर्न के मूल्यों को कैसे बदलें?

  5. निर्दिष्ट कुंजी बहुत लंबी थी; अधिकतम कुंजी लंबाई 1000 बाइट्स है