ネストされたモデルでネストされたモデルがいくつかあります。出力データモデルを操作してカスタムJSONを構築する最善の方法は?
出力データモデルを操作してカスタムJSONを構築する最善の方法はありますか?
今、各モデルを繰り返し、それぞれを別々の配列に追加したり、キーで結合したりするのは不愉快です。
ネストされたモデルでネストされたモデルがいくつかあります。出力データモデルを操作してカスタムJSONを構築する最善の方法は?
出力データモデルを操作してカスタムJSONを構築する最善の方法はありますか?
今、各モデルを繰り返し、それぞれを別々の配列に追加したり、キーで結合したりするのは不愉快です。
デフォルトでは、protected $hidden
またはprotected $visible
の配列をモデルクラスのプロパティとして追加できます。これにより、自動的に非表示になるか、特定の列のみがJSONレスポンスで表示されます。
https://laravel.com/docs/5.4/eloquent-serialization#hiding-attributes-from-json
また、あなたはJSONにあなたのモデルを変換する際に特定の属性を変更するミューテータを使用することができます。
https://laravel.com/docs/5.4/eloquent-mutators#introduction
JSONにモデルを変換するときにも、あなたのJSONレスポンスにないデータベース内の属性を追加することができます。
https://laravel.com/docs/5.4/eloquent-serialization#appending-values-to-json
例
class User extends Model {
protected $appends = ['is_admin'];
public function getIsAdminAttribute()
{
return $this->attributes['admin'] == 'yes';
}
}
パッケージは[フラクタル](http://fractal.thephpleague.com/)は、このために特別に構成されています。 – jfadich
それは私のためには機能しません – John
どうしてうまくいかないのですか? – jfadich