1

到目前为止一切都很好(或者我应该说“非常棒”)使用/学习 knex。

我正在尝试模拟以下条件以使列名搜索成为可选:

AND tableName.columnNameOne = 2349
AND tableName.columnNameTwo = 'some value'
AND ( tableName.columnNameThree = 285 OR someFlag = true )

threre 是一个“未记录的功能”(喜欢那个表达!),.ofWhereRaw它似乎可以很好地满足我的要求:

.andWhere (  { 'tableName.columnNameOne'     : columnNameOneValue
             , 'tableName.columnNameTwo'     : columnNameTwoValue
             }
          )
.andWhere ( val => {
              val.where ({ 'tableName.columnNameThree' :   columnNameThreeValue} )
              val.orWhereRaw  ( '(true = ?)'        ,      columnNameThreeFlag)
          })

作为一个新手和最近转换为 knex,这是处理这种情况的可选方法吗?我对使用文档中没有的选项感到紧张,因为在未来的版本中可能会删除未记录的选项。

非常感谢你,感谢你的 knex(不再续集)。

4

0 回答 0