代码之家  ›  专栏  ›  技术社区  ›  Dan YOU

注入knex方法链

  •  0
  • Dan YOU  · 技术社区  · 8 年前

    我现在做的是

    const branchA = q =>
      q.join(...joinParams);
    
    const branchB = (q, params) =>
      q.joinRaw('weird join')
       .join(...params)
       .groupBy('name');
    
    
    const q = knex('user').where(condition);
    
    if (bool) {
      return branchA(q);
    }
    else {
      return branchB(q, params);
    }
    

    我希望我的代码看起来更具功能性。我在找这样的东西:

    knex('user').where(condition).inject(q => bool ? queryBranchA(q) : branchB(q, params)); 
    

    “注射”是我在Knex文档中找不到的。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Mikael Lepistö    7 年前

    我想你在找 .modify() 它是从 https://knexjs.org/ ,但它似乎从侧边栏中丢失。

    在有关它的文档中添加了问题: https://github.com/knex/documentation/issues/146