2016-05-13 9 views
0

で選択ラベル/値にオブジェクトを変換する私はAPIとLaravel 5

public function getFederations() 
{ 
    return Federation::all(); 
} 

だから、今、私はすべての連盟を必要とするすべての連盟を返すAPIがありますが、私はそれを挿入する必要があります選択します。 id、nameフィールドだけが必要です。

$federations->map(function ($federation) { 
    return [ 
     'text'    => $federation->name, 
     'value'    => $federation->id, 
    ]; 

しかし、私は各応答形式の単一機能/エンドポイントを作成したくない:

だから、私は何をすべきことです。

これを行う方法はありますか?

答えて

0

あなたはちょうどあなたがあなたのクエリとしたい名前、このようなものを必要とすることに値を追加することができます

public function getFederations() 
{ 
    return Federation::all(['id as value', 'name as text']); 
} 
0

私は$visible$appends配列を利用する私はAPIアプリケーションで行うです私のモデル。たとえば、Federationモデルの場合:

class Federation extends Eloquent 
{ 
    protected $visible = [ 
     'text', 
     'value', 
    ]; 
    protected $appends= [ 
     'text', 
     'value', 
    ] 

    public function getTextAttribute() 
    { 
     return $this->name; 
    } 

    public function getValueAttribute() 
    { 
     return $this->id; 
    } 
}