Laravel 5.6 模型关联 user 表后查询 user 表数据只能获取第一条数据,不知道怎么获取第二条…

Laravel 5.6 模型关联 user 表后查询 user 表数据只能获取第一条数据,不知道怎么获取第二条…

按照开发手册的说法,肯定是指令不够全,附代码图

file

如果, tests 是文章表, users 是用户表 test.com/tests/1 是 id 为 1 的文章地址( get 访问)
假如 TestsController 是控制器 show 是文章详情

publish function show(Test $test,Request $requset){ $mode=$test::find($requset->id);// 获取 id 为 1 的文章模型 $name=$mode->user->name;// 使用动态属性获得 User 模型,在取到 name 属性 var_dump($mode->user()->get()->toArray());// 可以看看都是什么 }

会生成相关 sql

# 获取文章模型 select * from tests where id=1 limit 1 # 使用文章模型的 user 放法,?是上面查到的 user_id select * from users where id=? limit 1

所以这个有一个 N+1 的问题,就是当你的文章模型有 N 的时候,你要得到每一个文章作者的名字,就会产生 1 个文章查询和 N 个 用户查询,所以有一个 with 方法可以避免,这个你可以自行研究下

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/112399.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号