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\Utils\Traits\MakesHash;
use Illuminate\Database\Eloquent\SoftDeletes;
use League\Fractal\Resource\Item;
/**
* class ExpenseTransformer.
@ -31,7 +32,9 @@ class ExpenseTransformer extends EntityTransformer
/**
* @var array
*/
protected $availableIncludes = [];
protected $availableIncludes = [
'client',
];
public function includeDocuments(Expense $expense)
{
@ -40,6 +43,17 @@ class ExpenseTransformer extends EntityTransformer
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
*