注入knex方法链

时间:2018-11-01 15:17:29

标签: javascript knex.js

这就是我现在正在做的事情

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 个答案:

答案 0 :(得分:0)

我想您正在寻找https://knexjs.org/上的.modify(),但似乎在侧边栏中找不到它。

已将有关此问题的文档添加到https://github.com/knex/documentation/issues/146