ORM hasMany无法只获取关联数据表的指定字段,而是全部返回

1. 运行环境

1). 当前使用的 Laravel 版本?

Laravel Framework 7.30.6

2). 当前使用的 php/php-fpm 版本?

PHP 版本:

PHP 7.3.28 (cli)

php-fpm 版本:

PHP 7.3.28

3). 当前系统

Windows 10

4). 业务环境

开发环境

5). 相关软件版本

nginx 1.21.1

2. 问题描述?

Laravel的ORM hasMany with不可以获取指定的少数几个字段,而是必须只能获取全部

这是model里的hasMany
ORM hasMany不可以只获取关联数据表的指定字段,而是全部返回

截图红框对应1
ORM hasMany不可以只获取关联数据表的指定字段,而是全部返回

ORM hasMany不可以只获取关联数据表的指定字段,而是全部返回
截图蓝框对应2 就有了,但是太多了,不想要全字段

ORM hasMany不可以只获取关联数据表的指定字段,而是全部返回

ORM hasMany不可以只获取关联数据表的指定字段,而是全部返回
截图绿框对应3 有但是是全部

ORM hasMany不可以只获取关联数据表的指定字段,而是全部返回

ORM hasMany不可以只获取关联数据表的指定字段,而是全部返回
截图绿框对应4 加select

ORM hasMany不可以只获取关联数据表的指定字段,而是全部返回

ORM hasMany不可以只获取关联数据表的指定字段,而是全部返回

但是这些制定了select的

ORM hasMany不可以只获取关联数据表的指定字段,而是全部返回
DB::listen到的执行sql却是 只查id字段的
还试过更改hasMany结构体本身

ORM hasMany不可以只获取关联数据表的指定字段,而是全部返回

ORM hasMany不可以只获取关联数据表的指定字段,而是全部返回
也是拿不到doll
ORM hasMany不可以只获取关联数据表的指定字段,而是全部返回
但是DB::listen到的执行sql却是 只查round_st字段的

ORM hasMany不可以只获取关联数据表的指定字段,而是全部返回

ORM hasMany不可以只获取关联数据表的指定字段,而是全部返回
字段都是真实的

3. 您期望得到的结果?

doll 不要所有的字段,只出自己想要的字段

4. 您实际得到的结果?

要么为空,要么获得全部

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

with的原理是拿到主表的記錄 再去wherein 查詢關聯表 你查出來的字段如果不包含s_id 就無法與主表的記錄進行融合

1年前 评论
讨论数量: 3

with的原理是拿到主表的記錄 再去wherein 查詢關聯表 你查出來的字段如果不包含s_id 就無法與主表的記錄進行融合

1年前 评论

select必须包含外键。加上s_id试试

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!