/** * Get forms * @param array $inputData data for fill forms * @param int $productId id of the product * @return array */ public function getForms($inputData, $productId = null) { if ($productId) { $product = Product::find($productId); } else { $product = new Product(); } if ($this->category && empty($product->category_id)) { $product->category_id = $this->category->id; } $productForm = new ProductForm(['model' => $product, 'data' => $inputData]); $imageFormSet = new ImageFormSet(['data' => $inputData, 'relation' => $product->images()]); $optionFormSet = new OptionFormSet(['data' => $inputData, 'relation' => $product->attributes()]); //$promotionFormSet = new PromotionFormSet(['data' => $inputData, 'relation' => $product->promotions()]); return array('productForm' => $productForm, 'imageFormSet' => $imageFormSet, 'optionFormSet' => $optionFormSet); }