From f1cd07dd702eed4526af3bbe9dd049c196cb5d9b Mon Sep 17 00:00:00 2001 From: denisdulici Date: Mon, 9 Oct 2017 11:59:58 +0300 Subject: [PATCH] item transformer doesn't accept null --- app/Http/Transformers/Expense/Payment.php | 14 +++++++++----- app/Http/Transformers/Income/Revenue.php | 14 +++++++++----- app/Http/Transformers/Item/Item.php | 18 +++++++++++++----- 3 files changed, 31 insertions(+), 15 deletions(-) diff --git a/app/Http/Transformers/Expense/Payment.php b/app/Http/Transformers/Expense/Payment.php index 20e95fc0f..e2fdb6382 100644 --- a/app/Http/Transformers/Expense/Payment.php +++ b/app/Http/Transformers/Expense/Payment.php @@ -16,7 +16,7 @@ class Payment extends TransformerAbstract protected $defaultIncludes = ['account', 'vendor', 'category']; /** - * @param Model $model + * @param Model $model * @return array */ public function transform(Model $model) @@ -41,7 +41,7 @@ class Payment extends TransformerAbstract } /** - * @param Model $model + * @param Model $model * @return \League\Fractal\Resource\Item */ public function includeAccount(Model $model) @@ -50,16 +50,20 @@ class Payment extends TransformerAbstract } /** - * @param Model $model - * @return \League\Fractal\Resource\Item + * @param Model $model + * @return mixed */ public function includeVendor(Model $model) { + if (!$model->vendor) { + return $this->null(); + } + return $this->item($model->vendor, new Vendor()); } /** - * @param Model $model + * @param Model $model * @return \League\Fractal\Resource\Item */ public function includeCategory(Model $model) diff --git a/app/Http/Transformers/Income/Revenue.php b/app/Http/Transformers/Income/Revenue.php index c55f82935..1acf41fbd 100644 --- a/app/Http/Transformers/Income/Revenue.php +++ b/app/Http/Transformers/Income/Revenue.php @@ -16,7 +16,7 @@ class Revenue extends TransformerAbstract protected $defaultIncludes = ['account', 'customer', 'category']; /** - * @param Model $model + * @param Model $model * @return array */ public function transform(Model $model) @@ -41,7 +41,7 @@ class Revenue extends TransformerAbstract } /** - * @param Model $model + * @param Model $model * @return \League\Fractal\Resource\Item */ public function includeAccount(Model $model) @@ -50,16 +50,20 @@ class Revenue extends TransformerAbstract } /** - * @param Model $model - * @return \League\Fractal\Resource\Item + * @param Model $model + * @return mixed */ public function includeCustomer(Model $model) { + if (!$model->customer) { + return $this->null(); + } + return $this->item($model->customer, new Customer()); } /** - * @param Model $model + * @param Model $model * @return \League\Fractal\Resource\Item */ public function includeCategory(Model $model) diff --git a/app/Http/Transformers/Item/Item.php b/app/Http/Transformers/Item/Item.php index 219960d78..353c2f25a 100644 --- a/app/Http/Transformers/Item/Item.php +++ b/app/Http/Transformers/Item/Item.php @@ -15,7 +15,7 @@ class Item extends TransformerAbstract protected $defaultIncludes = ['tax', 'category']; /** - * @param Model $model + * @param Model $model * @return array */ public function transform(Model $model) @@ -39,20 +39,28 @@ class Item extends TransformerAbstract } /** - * @param Model $model - * @return \League\Fractal\Resource\Item + * @param Model $model + * @return mixed */ public function includeTax(Model $model) { + if (!$model->tax) { + return $this->null(); + } + return $this->item($model->tax, new Tax()); } /** - * @param Model $model - * @return \League\Fractal\Resource\Item + * @param Model $model + * @return mixed */ public function includeCategory(Model $model) { + if (!$model->category) { + return $this->null(); + } + return $this->item($model->category, new Category()); } }