用户登录

遇到复杂的查询需要,Repository 可能就不太够用了,我们可以创建一个 QueryBuilder 来构建需要的查询。

打开 GetUserQueryHandler,这里之前我们用了一个 Repository 里的 findOne 查询出指定 id 的数据记录。下面我们可以使用 QueryBuilder 实现同样的需求。

返回的数据,用一下 this.userRepository.createQueryBuilder 创建一个查询构建器,提供一个别名,比如 user。接着可以再用一下查询构造方法里的 select 方法,选择需要的字段,提供一个数组,需要 user.id ,还有 user.name。

下面再用 where 设置一下查询条件,这里就是 user.id 等于 :userId ,后面可以给这个 userId 查询一个值,这里就是在上面从查询参数里解构出来的这个 id。

最后再调用一下 getOne 这个方法。

测试

在 Http 客户端,再发送一下这个单个用户请求,这次返回的结果是我们用查询构建器查询出来的数据,里面有用户的 id 还有 name 这两个字段的值。

使用 QueryBuilder 处理实体数据《 Nest.js 企业级后端实践:应用构架 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点