昨天记了笔记,一对一关联,今天做了修改
一篇文章对应多个评论 一个评论对应一个用户信息
现在通过 url 传递过来文章的 id ,查询到文章传递给视图显示
评论和用户信息,通过关联来获取
我的评论表 comment 有 user_id post_id content
用户信息表有 user_id
关联如下:Comment中 return $this->hasOne(' AppUserinfo ' , ' user_id ' , ' user_id ' );
Userinfo中 return $this->belongsTo(' AppComment ');
在这里说明一下,comment中关联的参数,评论表关联用户信息表,第一个参数为用户信息模型,第二个参数为用户信息表的外键,默认为评论表名加上_id 如 comment_id 用户信息表中没有这个外键会找不到,我的用户信息表没有这个评论的外键,我去指定这个发起评论的用户id的外键为 user_id ,第三个参数为评论表中与用户信息表对应的键,默认为评论表的id,在这里我设置为评论表中的 user_id 字段。
我用评论模型去预加载用户信息的时候,它会通过第三个参数,与第二个参数对比,如果一致,则取出参数。
通常我们在做关联的时候,会在被关联的表里面做外键(关联表的名字+id)来进行关联,这样就不用去设置第二第三参数,但是有时候在没有设置外键,或者关联表的id与被关联表的外键,不是我们进行关联的字段,第二第三参数就比较有用了。