nestJsx/crud 使用patch、put無法更新foreign key的值

使用nestJsx/crud做單純的crud api,真的快又方便!
某次使用在更新foreign-key的值時,發現居然沒更新到!
一開始以為前端api參數打錯,由log確定前端傳參無誤

但此api是由nestJsx/crud自動產生的…

查了一下GitHub issue(eager relation load breaks foreign key update)
確定是真的套件bug,而截至發文尚未修復

似乎也沒有一個暫時解法

只好認命了,override掉乖乖重寫post功能

結果才複製貼上官方範例,把dto 型別Hero改成自己的entity
再試打一下api確定可以運作

1
2
3
4
5
6
7
@Override()
createOne(
@ParsedRequest() req: CrudRequest,
@ParsedBody() dto: Hero,
) {
return this.base.createOneBase(req, dto);
}

就發現foreign key順利更新了!
不必重寫功能,真是開心XD~

於是也在該issue回應了暫時替代解法

也希望原作者盡速修正了!

參考資料

eager relation load breaks foreign key update