/** * Transforms array to object * * @param array $data * @return static */ public function transformObject(array $data) { $category = CategoryView::create($data['category']['id'], $data['category']['name']); $productOptions = array_map(function ($item) { $option = OptionView::create($item['option']['id'], $item['option']['name']); return ProductOptionView::create($option, $item['value']); }, $data['productOptions']); return ProductView::create($data['id'], $data['name'], $data['price'], $category, $data['description'], $data['availability'], $data['imageUrl'], $data['updated'], $productOptions); }
/** * @return int */ public function getTotal() { return $this->quantity * $this->product->getPrice(); }