<?php

namespace App\Libs\Transformers;


use App\Models\GenericBackoffice\Food;
use App\Models\GenericBackoffice\MealFood;
use League\Fractal;

class MealFoodTransformer extends Fractal\TransformerAbstract
{


    protected $availableIncludes = array(
        'allergens'
    );

    public function transform(MealFood $mealFood)
    {
        $data = [
            'id' => $mealFood->food->id,
            'title' => $mealFood->food->title,
            'price' => $mealFood->food->price
        ];

        if ($mealFood->users->isEmpty()) {
            $data['quantity'] = 0;
        } else {
            $data['quantity'] = $mealFood->users->first()->pivot->quantity;
        }

        return $data;
    }

    public function includeAllergens(MealFood $mealFood)
    {
        return $this->collection($mealFood->food->allergens, new AllergenTransformer());
    }
}



