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 方法可以避免,这个你可以自行研究下

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • echart横坐标字体样式问题 xAxis属性问题

    echart横坐标字体样式问题 xAxis属性问题

    2020年11月9日
  • 大型仓库进销存管理系统php源代码,多仓版进销存管理系统PHP源码ERP仓库管理系统php网络版进销存源码…

    大型仓库进销存管理系统php源代码,多仓版进销存管理系统PHP源码ERP仓库管理系统php网络版进销存源码…该系统为PHP语言开发开源无限制独家优化版,购货,销货,仓库管理,商品管理,供应商管理,职员管理等非常多的功能。该ERP部署安装非常简单,只要要空间支持PHP上传到根目录就可简单安装就可。运行速度和数据解决效率都非常高,非常适合中小企业仓库管理使用!本系统运行环境php5.4以下最好是5.2.17或者者5.3.3支持IIS、apache不支持nginx安装文档:1、上传到网站根目录2、用p…

    2022年5月31日
  • React 时间控件

    React 时间控件使用bootstrap的datetimepicker安装:npminstallreact-bootstrap-datetimepicker使用bootstrap的datetime安装:npminstall–savereact-datetime若使用中文,还需要安装moment,这样datetime插件中的locale属性(控制语言)才能够正常使用:安装moment:npminstal

    2022年5月23日
  • Java数组(二维数组)「建议收藏」

    Java数组(二维数组)「建议收藏」目录前言多维数组二维数组声明二维数组创建二维数组访问二维数组遍历二维数组最后前言在上一篇文章Java数组(一维数组)中,我们学习了一维数组,那么今天我们来学习Java二维数组。多维数组数组元素除了可以是原始数据类型、对象类型之外,还可以是数组,即数组元素是数组,通过声明数组的数组来实现多维数组。多维数组的使用和二维数组使用相似,我们来介绍二维数组。二维数组声明二维数组声明二维数组语法有两种格式,例如:数组类型[][]数组名;

    2022年7月7日
  • m3u8文件合并 app(m3u8合并失败)

    电脑端合成m3u8方法利用.bat文件步骤如下手机端PC端利用.bat文件bat文件是dos下的批处理文件。批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为.bat或.cmd。在命令提示下输入批处理文件的名称,或者双击该批处理文件,系统就会调用cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们[1]。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。入侵者常常通过批处理文件的编写来实现多工具的组合入侵、自动入侵及结果提取等功能。链接:百度百

    2022年4月13日
  • CSS或HTML如何实现文字下面加点?

    CSS或HTML如何实现文字下面加点?

    2021年10月31日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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