client include for expenses

This commit is contained in:
Benjamin Beganović 2022-07-21 16:50:34 +02:00
parent 4ebc39d423
commit de44058c76

View File

@ -15,6 +15,7 @@ use App\Models\Document;
use App\Models\Expense; use App\Models\Expense;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use League\Fractal\Resource\Item;
/** /**
* class ExpenseTransformer. * class ExpenseTransformer.
@ -31,7 +32,9 @@ class ExpenseTransformer extends EntityTransformer
/** /**
* @var array * @var array
*/ */
protected $availableIncludes = []; protected $availableIncludes = [
'client',
];
public function includeDocuments(Expense $expense) public function includeDocuments(Expense $expense)
{ {
@ -40,6 +43,17 @@ class ExpenseTransformer extends EntityTransformer
return $this->includeCollection($expense->documents, $transformer, Document::class); return $this->includeCollection($expense->documents, $transformer, Document::class);
} }
public function includeClient(Expense $expense): ?Item
{
$transformer = new ClientTransformer($this->serializer);
if (!$expense->client) {
return null;
}
return $this->includeItem($expense->client, $transformer, Client::class);
}
/** /**
* @param Expense $expense * @param Expense $expense
* *