ich eine Sammlung, die diese ähnelt:Laravel Sammlung: Rückgabe nur Beziehung und Schlüssel
$a = Model::with(['sub' => function($q) {
$q->select('id', 'name')
}])->get();
Dies gibt die folgende Auflistung: Artikel
{
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"
}
]
}
Was ich versuche zu tun, ist der Schlüssel der Eltern durch ihre IDs und nur die Beziehung zurückgeben. Zum Beispiel
{
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"
}
]
}
Ich kann nicht scheinen, dass dies funktioniert. Ich habe mit vielen Variationen versucht:
$a = Model::with(['sub' => function($q) {
$q->select('id', 'name')
}])->pluck('sub', 'id');
Das funktioniert nicht als ‚Pluck‘ offensichtlich für eine Eigenschaft des übergeordneten Modells mit dem Namen ‚sub‘ sucht die Ausfahrt nicht. Gibt es einen Weg, dies zu erreichen?
Dank
Diese Lösung behält nicht den Schlüssel "sub" in den Ergebnissen. In meiner aktuellen Situation ist dies jedoch kein Problem. Danke – Typhoon101
@ Typhoon101 Welche Version von Laravel benutzt du? –