php - 如何获取有关“与”关系和主集合的特定列?
问题描述
我知道我可以这样做:
User::with(array('project' => function($query){
$query->select('title');
}))->get()
我可以这样做:
User::get(['name', 'title', 'status', 'created_at']);
我怎样才能合并它们?这不起作用:
User::with(array('project' => function($query){
$query->select('title');
}))->get(['name', 'title', 'status', 'created_at'])
理想情况下,我的结果形成为:
[{
_id: 'ID',
name: 'NAME',
title: 'TITLE',
status: 'STATUS',
created_at: 'CREATED_AT',
project: {
_id: 'ID',
title: 'PROJECT TITLE'
}
} ... ]
解决方案
您必须选择关系的外键和本地键:
User::with(['project' => function($query) {
$query->select('_id', 'title');
}])->get(['name', 'title', 'status', 'created_at', 'project_id'])
在 Laravel 5.5+ 中,你可以使用这个:
User::with('project:_id,title')
->get(['name', 'title', 'status', 'created_at', 'project_id'])
推荐阅读
- node.js - 每次获得新的数据库条目时如何在不重新加载页面的情况下更新 html
- spring - 从 Oracle 迁移到 IBM 时出现 PKCS12 KeyStore 问题
- python - Python将ascii hex转换为实际的hex
- java - 如何为另一个微服务在数据库上执行的任何 CRUD 操作刷新微服务的缓存
- java - Glide + Recyclerview 和 MediaStore.Audio.Media.ALBUM_ID 的图像错误
- java - 阻止 spring boot 执行故障保护插件
- c# - 如何不允许仅在本地重新创建数据库
- java - 码头中 websocket 会话的潜在内存泄漏 (9.4.15)
- esp32 - 需要对 esp32 的 esp-idf 中的 IDF 监视器进行故障排除。不再显示输出
- c# - C# DevExpress - 如何将 GridView 中的 lookupEdit 列数据链接到 MySqlDB 中的 GridView 列 [0]