2017-04-26 6 views
0

Ich habe eine Benutzer-Tabelle, die eine Beziehung mit Berufen, Fähigkeiten, Bezeichnungen, Standorten usw. haben Die einfachen Benutzerinformationen kann ich mit diesem Befehl app\users::find(1) und seine Fähigkeiten Informationen wie diese app\user::find(1)->skill. Wie kann ich alle Informationen wie Allgemein, Beruf, Fähigkeiten über einen bestimmten Benutzer mit einem einzigen Befehl erhalten?Laravel: Merge Daten von zwei Tabellen

Beispiel:

localhost: 8000/users/1

Dieser Link sollte mich wie unten json Ergebnis geben:

{ 
    "id": 0, 
    "name": "string", 
    "email": "string", 
    "gender": "string", 
    "age": 0, 
    "mobile_number": "string", 
    "company_name": "string", 
    "verification_status": 0, 
    "image_url": "string", 
    "joining_date": "2017-04-26T12:34:34.501Z", 
    "message": "string", 
    "profession": { 
    "id": 0, 
    "name": "string" 
    }, 
    "designation": { 
    "id": 0, 
    "name": "string" 
    }, 
    "location": { 
    "id": 0, 
    "longitude": 0, 
    "latitude": 0, 
    "address": "string", 
    "city": "string", 
    "country": "string" 
    }, 
    "interests": [ 
    { 
     "id": 0, 
     "name": "string", 
     "custom": "string" 
    } 
    ], 
    "skills": [ 
    { 
     "id": 0, 
     "name": "string", 
     "custom": "string" 
    } 
    ] 
} 

Antwort

1

Sie können alle Beziehungen laden von diesem Modell using eager loading und dann serialize that object to a json string.

Wie so:

app\user::where('id', 1)->with(['profession', 'designation', '...'])->first()->toJson(); 
+0

Genau, was ich suchte, danke – MTA

+0

Froh, dass ich helfen konnte. Wenn dies Ihre Frage gelöst hat, sollten Sie diese Antwort als Lösung markieren, damit andere Benutzer diese Antwort finden, wenn sie das gleiche Problem haben. – Jerodev

Verwandte Themen