第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用 where 和 limit 查詢多對(duì)多關(guān)系

使用 where 和 limit 查詢多對(duì)多關(guān)系

繁華開滿天機(jī) 2023-03-10 16:06:43
我有這樣的關(guān)系:Clients -> ProgramsClients <- Programs我想做的基本上是:SELECT * FROM Programs p JOIN ProgramsClients pc on p.id = pc.programId WHERE pc.clientId = 1 LIMIT 0, 100;我已經(jīng)設(shè)法通過以下代碼達(dá)到了這樣的目的:query = {   include: [{       model: models.Clients,       attributes: [],       require: true,    }],   where: { '$Clients.id$': 1 }}models.Programs.findAll(query) // This works其中產(chǎn)生:SELECT [...]FROM `programs` AS `Programs` LEFT OUTER JOIN ( `ProgramsClients` AS `Clients->ProgramsClients` INNER JOIN `clients` AS `Clients` ON `Clients`.`id` = `Clients->ProgramsClients`.`ClientId`) ON `Programs`.`id` = `Clients->ProgramsClients`.`ProgramId` WHERE `Clients`.`id` = 1;這有效,但是當(dāng)我嘗試限制它時(shí),出現(xiàn)錯(cuò)誤。代碼:query = {   include: [{       model: models.Clients,       attributes: [],       require: true,    }],   limit: 0,   offset: 10,   where: { '$Clients.id$': 1 }}models.Programs.findAll(query) // This fails其中產(chǎn)生:SELECT [...]FROM (SELECT `Programs`.`id`, `Programs`.`name`, `Programs`.`description`, `Programs`.`createdAt`, `Programs`.`updatedAt` FROM `programs` AS `Programs` WHERE `Clients`.`id` = 1 LIMIT 0, 10) AS `Programs` LEFT OUTER JOIN ( `ProgramsClients` AS `Clients->ProgramsClients` INNER JOIN `clients` AS `Clients` ON `Clients`.`id` = `Clients->ProgramsClients`.`ClientId`) ON `Programs`.`id` = `Clients->ProgramsClients`.`ProgramId`;錯(cuò)誤: DatabaseError [SequelizeDatabaseError]: Unknown column 'Clients.id' in 'where clause'注意:我使用的是 MySQL 數(shù)據(jù)庫(kù)。有沒有更簡(jiǎn)單的方法來解決這個(gè)問題并為 SQL 生成所需的(或類似的)結(jié)果?
查看完整描述

1 回答

?
慕少森

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊

我停了一下。當(dāng)我回來時(shí),我設(shè)法解決了它。


基本上,我誤讀了文檔中的超級(jí)多對(duì)多部分。


您可以簡(jiǎn)單地定義與關(guān)聯(lián)表(在本例中為 ProgramsClients)的一對(duì)多關(guān)系(即使您使用的是多對(duì)多關(guān)系),然后包含 ProgramsClients 并執(zhí)行任何您想要的操作。(您必須為此聲明 ProgramsClients 的 id 列)。


query = {

   include: [{

       model: models.ProgramsClients,

       as: 'programsclient'

       attributes: [],

       require: true, 

       where: { clientId: 1 }

   }],

   limit: 0,

   offset: 10,

}


查看完整回答
反對(duì) 回復(fù) 2023-03-10
  • 1 回答
  • 0 關(guān)注
  • 125 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)