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

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

如何將單個(gè) SQL OR 運(yùn)算符應(yīng)用于續(xù)集中的表及其關(guān)聯(lián)表?

如何將單個(gè) SQL OR 運(yùn)算符應(yīng)用于續(xù)集中的表及其關(guān)聯(lián)表?

慕妹3242003 2022-09-29 15:22:06
我想查找其中包含特定子字符串的產(chǎn)品(搜索產(chǎn)品),即搜索字符串匹配或或{在其他關(guān)聯(lián)表( OR) 中} 或其他關(guān)聯(lián)(hasMany)表( ),即,如果所有SKU的描述中的任何位置}product.nameproduct.descriptioncategory.namecategory.descriptionsku.description我有一個(gè)具有以下結(jié)構(gòu)的表格products具有字段的字段與具有字段的字段id | name | description | categoryIdcategoriesid | name | descriptionskuid | productId | description有關(guān)系db.product.belongsTo(db.category);db.category.hasMany(db.product);db.sku.belongsTo(db.product);db.product.hasMany(db.sku);最終,我想要搜索字符串與產(chǎn)品的任何位置匹配的產(chǎn)品。db.product.findAll({   include: [      {         // hasOne relation         model: db.category,      },      {         // hasMany relation         model: db.sku,      },   ],   where: {      [Op.or]: [         {            name: {               [Op.like]: `%${search}%`            }         },         {            description: {               [Op.like]: `%${search}%`            }         },         // this doesn't work need some way to achieve something like this         // {         //    category:{         //       name: {         //          [Op.like]: `%${search}%`         //       }         //       description: {         //          [Op.like]: `%${search}%`         //       }         //    }         // }      ]   }})我可以在 部分內(nèi)應(yīng)用條件,但這不會(huì)像整體或那樣像我需要的搜索一樣工作。whereincludecategory這不會(huì)給出預(yù)期的結(jié)果   include: [      {         model: db.category,         where : {            name: {                [Op.like]: `%${search}%`            }            description: {                [Op.like]: `%${search}%`            }         }      }   ],
查看完整描述

1 回答

?
慕姐8265434

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

使用不開箱即用的聯(lián)接表列的子句可以包裝在 $中。


為了獲取涉及嵌套列的頂級(jí) WHERE 子句,Sequelize 提供了一種引用嵌套列的方法:“$nested.column$”語法。


例如,它可用于將 where 條件從包含的模型從 ON 條件移動(dòng)到頂級(jí) WHERE 子句。


User.findAll({

  where: {

    '$Instruments.size$': { [Op.ne]: 'small' }

  },

  include: [{

    model: Tool,

    as: 'Instruments'

  }]

});

在 SQL 中生成:


SELECT

  `user`.`id`,

  `user`.`name`,

  `Instruments`.`id` AS `Instruments.id`,

  `Instruments`.`name` AS `Instruments.name`,

  `Instruments`.`size` AS `Instruments.size`,

  `Instruments`.`userId` AS `Instruments.userId`

FROM `users` AS `user`

LEFT OUTER JOIN `tools` AS `Instruments` ON

  `user`.`id` = `Instruments`.`userId`

WHERE `Instruments`.`size` != 'small';

有關(guān)文檔,您可以在此處閱讀:https://sequelize.org/master/manual/eager-loading.html


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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