/** * Store the Breeder's product * AJAX * * @param Request $request * @return JSON */ public function storeProduct(Request $request) { $breeder = $this->user->userable; if ($request->ajax()) { $product = new Product(); $productDetail = []; // Create default primary picture for product if ($request->type == 'boar') { $image = Image::firstOrCreate(['name' => 'boar_default.jpg']); } else { if ($request->type == 'sow') { $image = Image::firstOrCreate(['name' => 'sow_default.jpg']); } else { if ($request->type == 'gilt') { $image = Image::firstOrCreate(['name' => 'gilt_default.jpg']); } else { $image = Image::firstOrCreate(['name' => 'semen_default.jpg']); } } } $product->farm_from_id = $request->farm_from_id; $product->primary_img_id = $image->id; $product->name = $request->name; $product->type = $request->type; $product->birthdate = date_format(date_create($request->birthdate), 'Y-n-j'); $product->breed_id = $this->findOrCreateBreed(strtolower($request->breed)); $product->price = $request->price; $product->quantity = $request->quantity; $product->adg = $request->adg; $product->fcr = $request->fcr; $product->backfat_thickness = $request->backfat_thickness; $product->other_details = $request->other_details; $breeder->products()->save($product); $productDetail['product_id'] = $product->id; $productDetail['name'] = $product->name; $productDetail['type'] = ucfirst($request->type); $productDetail['breed'] = $request->breed; return collect($productDetail)->toJson(); } }