2017-05-09 13 views
0

私は従業員のリストをjsonファイルとして持っています。Laravel - Mysql to JSON

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

これをデータベースに保存しますが、依然としてJSONとして返します。

これは私のルートでどのように設定するのですか?部門IDごとに非常に基本的なフィルタになります。

私はJSONを返すにはどうすればよいget要求

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

}); 

を行うだろうね?

+1

Laravelは自動的に変換します配列の応答をJSONに返します。あなたのルートから配列を返してください。 – Gaurav

答えて

0

のようなリターンその特定のjsonファイルから、Seedingの助けを借りて。

モデルの詳細については、次のコマンドを使用して

php artisan make:model Department 

https://laravel.com/docs/5.4/eloquent#eloquent-model-conventions

の訪問を喜ばせるというモデルを作成し、データベース内のテーブルの部署を作り、すべての5列 (id, departments, name, profilePic, title)にデータを保存としましょう

単純な経路を介してその要求を検出し、JSONなどのデータを返す:

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

なぜ 'first()'これは1人の従業員しか返しませんが、部門は複数の従業員を持つことができます。選択された部門内のすべての従業員を返す 'get()'でなければなりません。 –

+0

@AbuSayem彼は 'get()'を使うことができます。私の主なポイントは彼に正しい方法を伝えることです。 、 'get()'、 'first()'のいずれかです。 –

0

あなたがEmployeeモデルを持っている場合、それは次のようになります。

Laravelはクライアントに書き込む前にJSONオブジェクトに変換します。

0

非常に基本的なモデルのクエリは

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

だろうが、従業員があなたのモデル

であると仮定します。

Laravelは自動的にjsonにクエリを変換します。 FYI

また、メソッドをコントローラにこの要求を送信することができますあなたはあなたが最初にデータベースにデータを格納するDBシードを作成するJSONファイル内の従業員のリストを持って言ったように上記