ฉันมีคอลเลกชันที่มีลักษณะเช่นนี้:
$a = Model::with(['sub' => function($q) {
$q->select('id', 'name')
}])->get();
สิ่งนี้จะส่งคืนคอลเลกชันต่อไปนี้:
{
0: {
id: 0001,
name: "item 1",
type: "type a"
'sub' [
{
'id': 10001,
'name': "sub Item 1"
},
{
'id': 10002,
'name': "sub Item 2"
}
]
},
1: {
id: 0002,
name: "item 2",
type: "type a"
'sub' [
{
'id': 11001,
'name': "sub Item 4"
},
{
'id': 11002,
'name': "sub Item 5"
}
]
}
สิ่งที่ฉันพยายามทำคือคีย์รายการหลักด้วยรหัสและส่งคืนความสัมพันธ์เท่านั้น ตัวอย่างเช่น
{
0001: {
'sub' [
{
'id': 10001,
'name': "sub Item 1"
},
{
'id': 10002,
'name': "sub Item 2"
}
]
},
0002: {
'sub' [
{
'id': 11001,
'name': "sub Item 4"
},
{
'id': 11002,
'name': "sub Item 5"
}
]
}
ดูเหมือนว่าฉันไม่สามารถทำงานนี้ได้ ฉันได้ลองใช้รูปแบบต่างๆ มากมาย ได้แก่:
$a = Model::with(['sub' => function($q) {
$q->select('id', 'name')
}])->pluck('sub', 'id');
สิ่งนี้ใช้งานไม่ได้เนื่องจาก 'Pluck' กำลังมองหาคุณสมบัติของโมเดลหลักที่มีชื่อ 'sub' ซึ่งไม่ออกอย่างชัดเจน มีวิธีที่จะบรรลุเป้าหมายนี้หรือไม่?
ขอบคุณ