TypeOrm | Repository APIs 用法纪录 1

https://typeorm.io/#/repository-api

常常在使用,但也只有使用到其中主要的method,刚好遇到 save vs. update 差在哪里的疑问,就一起记下来

  • hasId( ) 确认Table 是否已经有指定id 纪录存在
    • ex. repository.hasId(user)
    • 适用新增需要指定ID 的情境
  • getId( ) 回传纪录 pk id (如果是复合主键,则会回传传Object)
    • 适用复合主键快速取得
    • ex. repository.getId(user);
  • create( ) 建立一实例,不确定会不会存到db
    • ex. repository.create() = new User()
  • merge( ) 合并多栏位成为一个单一实例
    • ex. repository.merge(user, { firstName: "Timber" }, { lastName: "Saw" })
  • preload() 可以直接覆写读取的资料,返回实例,但覆写的物件必须包含id
    • ex. await repository.preload(partialUser)
  • save() 储存给予的实例,若DB已存在,更新资料(须包含id),若资料不存在,则建立新的一笔
    • ex. await repository.save(user);
  • remove() 移除给予的实例资料
    • ex. await repository.remove(user)
  • insert() 插入一新实例、阵列实例
    • ex. await repository.insert(User)
  • update() 根据指定条件,更新符合条件之资料
    • ex. await repository.update(1, { firstName: "Rizzrak" })
  • delete() 根据指定条件,删除符合条件之资料
    • ex. await repository.delete({ firstName: "Timber" });
  • softDelete() & restore () 使用id 软删除、恢复资料
    • ex. await repository.softDelete(1)
    • ex. await repository.restore(1)
  • softRemove() & recover() 使用实例 软删除、恢复资料
    • await repository.softRemove(entities)
    • await repository.recover(entitiesAfterSoftRemove)

<<:  Day15|【Git】git reset 补充 - 三种模式

>>:  Day17 Loops(Ⅳ)

Day 30 : 结语

终於到了最後一篇了,就来讲讲这次发铁人赛文的感想吧! 过程分享 这次铁人赛其实有先囤了一些文章,可是...

Day 40 (PHP)

1.阵列抓值 (1)打开$person的'programs'(key) 抓 $language(va...

Day6一个网站总需要一点首页吧!

延续昨天 今天从首页开始下手 我的首页想放入科内同仁的文章(类似ptt部落格的感觉) 跟之前一样去v...

Day.18 Graph-BFS

BFS是简写,全名是Breadth-First Search(广度优先搜寻演算法) BFS跟DFS一...

[day23]加入购物车 & 库存检查

简单设计一个库存与订单设计,用白话一点来说就是推一台购物车,购物车上可以放上各种商品,推去结帐时这台...