Laravel 模型关联查询的时候,如何筛选从表字段?

问题描述

Laravel7 模型关联查询的时候,如何筛选从表字段?

尝试过哪些方法

看了文档,也在网络上搜索了,连Google上的都搜索了,都是筛选主表的,我认为这个框架不应该那么简单吧,连这个都没有,肯定有的。是我搜索的方式不对吗?

相关代码

members::with('memberSignWechats')->where('id', 1)->select('id', 'mid')->first()->toArray();

结果截图:

image.png

我想解决问题是:

select中的字段都是members中的,现在主表筛选字段没问题,问题是member_sign_wechats中的所有字段都出来了,我只想要某几个字段就行(比如上图哪个红框里的)。

阅读 4.3k
1 个回答

简单写法:

members::with('memberSignWechats:id,created_at,updated_at')->where('id', 1)->select('id', 'mid')->first()->toArray();

复杂写法:

members::with(['memberSignWechats' => function ($query) {
    return $query->select('id,created_at,updated_at')
})->where('id', 1)->select('id', 'mid')->first()->toArray();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题