用户登录

我们之前在 User 模型里用 hasOne 描述了一下用户拥有一个档案这种关系,在另一边,也就是用户档案这边儿,可以使用 belongsTo ,描述一下,用户档案属于某个用户这种关系 ..

在项目里面,打开 Profile 这个模型 ... 添加一个关系方法 ... 名字可以是 user . return 的是 this ... 用一下 belongsTo ... 属于的模型的是 App.. Models 下面的 User 这个模型 ...

使用关系

下面我们可以直接在一个路由上去试一下这种关系 .. 打开应用的路由 .. routes.js .. 这里需要用到 Profile 这个模型 .. 先导入这个模型 ... 名字是 Profile ... 位置是 App/Models/Profile

再去添加一个 get 类型的路由 .. 地址可以是 profiles .. 加上一个 :id 参数 ... 处理方法里面包含异步动作,所以要加上一个 async ..

然后把 params 解构出来 ..

在方法里面,添加一个 profile .. await .. 用一下 Profile 模型上的 find .. 资源的 id 是 params.id ..

下面再添加一个 user .. await ... 用一下 profile .. 注意这个 profile 的首字母是小写的 .. 在 profile 模型上有个 user 方法 .. 它里面用 belongsTo 描述了一下它跟用户数据的关系 .. 这里我们可以用一下这个 user 方法,这样就可以获取到档案所属的那个用户 .. select .. 只需要用户里面的 username 字段 ... 再用一个 fetch ,提取一下数据 ..

最后 return 的是一个对象 .. 里面添加一个 profile ... 再添加一个 user ..

打开 REST 客户端 .. 配置一个请求 ... 方法是 GET ... 地址是 localhost:3333 . 后面加上 profiles .. 再加上一个 id 参数 ..

响应回来的数据就是要查看的用户档案 .. 里面还包含一个 user 属性 .. 它里面的数据是跟当前查看的档案相关联的 users 表里的用户数据 .. 这里显示 username 是 王皓 ..

意思就是,id 号是 1 的这个档案数据,所属的用户,他的用户名叫王皓 ...

一对一关系:描述与利用关系(使用 belongsTo 方法)《 Node.js 应用:内容关系 》

统计

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

社会化网络

关于

微信订阅号

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