2017-05-09 5 views
0

Im Moment habe ich eine Liste der Mitarbeiter als JSON-Datei.Laravel - Mysql zu JSON

{ 
    "id": 1, 
    "departments": "1", 
    "name": "Bill Smith", 
    "profilePic": "/img/people/Office/bill-smith.jpg", 
    "title": "Office Manager" 
    }, 

Ich möchte jetzt diese in der Datenbank speichern, aber immer noch als JSON zurückgeben.

Wie richte ich das mit meinen Routen ein? Es wird ein sehr einfacher Filter sein, nach Abteilung ID.

Ich nehme ich würde eine Erhaltungs-Anforderungs tun

Route::get('people/{department}', function() { 

}); 

Wie kehre ich die json?

+1

Laravel automatisch konvertiert Array-Antworten in JSON. Gib einfach ein Array von deiner Route zurück. – Gaurav

Antwort

0

Wie Sie sagten, Sie Liste der Mitarbeiter in einer JSON-Datei haben dann zunächst eine DB Seed erstellen Sie Ihre Daten in der Datenbank zu speichern, von dieser bestimmten JSON-Datei mit Hilfe von Seeding.

Nehmen wir an Sie eine Tabelle Abteilungen in der Datenbank vorgenommen und Ihre Daten in allen fünf Spalten gespeichert (id, departments, name, profilePic, title), dann ein Modell machen, die mit dem folgenden Befehl

php artisan make:model Department 

Weitere Informationen zu Modellen bitte Besuche auf https://laravel.com/docs/5.4/eloquent#eloquent-model-conventions

dann einfach, dass Anfrage durch den Weg erkennen und die Daten als json zurückgeben:

Route::get('people/{department}', function ($departmentId) { 
    $data = Department::where('departments', $departmentId)->first(); 
    return response()->json($data); 
}); 
+0

Warum 'first()' dies wird nur einen Mitarbeiter zurückgeben, aber eine Abteilung kann mehrere Mitarbeiter haben. Es sollte 'get()' sein, die alle Angestellten innerhalb der ausgewählten Abteilung zurückgeben. –

+0

@AbuSayem ja ofcuase, das er benutzen kann 'get()', mein Hauptpunkt ist, ihm den richtigen Weg zu sagen, es hängt von ihm ab, was er will , 'get()' oder 'first()'. –

0

Falls Sie ein Employee Modell haben, würde es so aussehen:

Laravel konvertiert Objekte zu JSON, bevor sie an den Client zu schreiben.

0

würde die sehr einfache Modell Abfrage

seine

Route::get('people/{department}', function ($department) { return Employee::where('departments',$department)->get(); }

nehmen Mitarbeiter Ihr Modell ist

.

Dann wird Laravel automatisch Ihre Abfrage in JSON konvertieren.

FYI: Sie können auch diese Anfrage senden Methode zur Steuerung der Rückkehr wie oben