如何在typeorm中使用存储库?

时间:2020-10-09 20:51:57

标签: typeorm

重现步骤或显示问题的小资料库:

   let pid = tabla.id

    return await this.Repository.update(
      {predeterminado: false},
      {predeterminado: true, id: Not(pid)})

以上内容引发以下错误:预期类型来自属性'id',该属性在此处声明为'QueryDeepPartialEntity'

如果我使用查询生成器执行此操作,它将正常工作。

let pid = tabla.id

  return await this.Repository
  .createQueryBuilder()
  .update(AlicuotasIva)
  .set({predeterminado: false})
  .where("id != :pid",{pid})
  .andWhere("predeterminado = 1")
  .execute();

1 个答案:

答案 0 :(得分:0)

从您的示例中,我不确定您是否正确放置了参数,我将在代码注释中对其进行描述:

<div>
  <button class="menubtn">hover over me</button>
</div>
<div class="skew">
  <div class="line">
    <div class="showText">menu item</div>
  </div>
</div>

所以,我想,您只需要切换参数的位置就可以了:

let pid = tabla.id

return await this.Repository.update(
  {predeterminado: false}, // <-- first parameter of update method is criteria (find condition)
  {predeterminado: true, id: Not(pid)}) // <-- the second parameter is your updates