Laravel 5.6 模型关联 user 表后查询 user 表数据只能获取第一条数据,不知道怎么获取第二条
2024-10-19 13:22:49
按照开发手册的说法,肯定是指令不够全,附代码图
如果, 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 方法可以避免,这个你可以自行研究下
最新文章
- 将nuget与VS直接集成,实现一键上传等功能
- Dubbo系列_概述
- (基础篇)echo、print、print_r、printf、sprintf、var_dump的区别比较
- fastBinaryJSON
- [ZZ] C++ pair
- MYSQL常用命令集合(转载)
- 一个用UpdateLayeredWindow实现窗体半透明的delphi的代码
- Android开发过程中git、repo、adb、grep等指令的使用
- Android带有粘性头部的ScrollView
- 新概念英语(1-13)A new dress
- centos7系统配置记录SFTP操作日志
- Abp中自定义Exception的HttpStatusCode
- kubectl常用命令
- Maven项目读取resources下文件的路径问题(getClassLoader的作用)
- POJ 1125 Stockbroker Grapevine(最短路基础题)
- CentOS设置开机自动启动某服务
- C中预编译详解
- http2.0之头部压缩
- angular排序
- 链表推导式 【list comprehension】