Bagaimanakah saya boleh melaksanakan pertanyaan ini dalam sekuel
P粉354602955
P粉354602955 2023-09-05 09:43:31
0
2
447
<p><pre class="brush:php;toolbar:false;">SELECT * DARIPADA item_master DI MANA project_id DALAM (PILIH id DARI project_master WHERE workspace_id in (SELECT id FROM workspace_master WHERE company_id = 4));</pre> <p>Bagaimana untuk melaksanakan pertanyaan mysql ini dalam sekuel - Node js tanpa menggunakan pertanyaan asal? </p>
P粉354602955
P粉354602955

membalas semua(2)
P粉245003607

Jika struktur model anda serupa dengan item_master 有许多 project_master,并且 project_master 有许多 workspace_master,那么以下sequelize查询将与async/awaitSapukan bersama.

Semasa saya mengedit jawapan saya. Seperti yang anda katakan dalam ulasan anda, anda mempunyai struktur model anda, cth. ruang kerja mempunyai banyak projek, projek mempunyai banyak projek. Kemudian pertanyaan Sequelize akan kelihatan seperti:

const getResult = async (workpace_id, company_id = 4) => {
      const result = await workspace_master.findAll({
      subQuery: false,
      include: [
        {
          model: project_master,
          as: 'project_masters', // this is your alias defined in model
          attributes: ['id','foo','bar'],
          include: [
            {
              model: item_master,
              as: 'item_masters', // this is your alias defined in model
              attributes: ['id','foo','bar']
            }
          ]
        }
      ],
      where: {
         id: workspace_id,
         company_id: company_id
      }
    });
    
    if(!result || !result.length) return res.send('Something went wrong!');
    return res.send(result);
   }

Cuba sekarang, saya harap ini menyelesaikan masalah anda.

P粉300541798
const item = await Item.findAll({
    where: {
        status: { [Op.ne]: 99 },
        '$project.workspace.company_id$': { [Op.eq]: req.user.companyId }
    },
    include: {
        model: Project,
        as: 'project',
        attributes: ['id'],
        include: {
            model: Workspace,
            as: 'workspace',
            attributes: ['id', 'companyId'],
            where: {
                companyId: req.user.companyId
            },
        },
    }
})

Ini berfungsi seperti yang saya mahu.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!