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. 您实际得到的结果?

要么为空,要么获得全部

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

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

1年前 评论
讨论数量: 3

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

1年前 评论

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

1年前 评论

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