Пример #1
0
 public function store(Request $request)
 {
     $params = $request->all();
     $properties = [];
     foreach ($params as $k => $v) {
         $pos = strpos($k, 'property_');
         if ($pos !== false) {
             $id = substr($k, strlen('property_'), strlen($k));
             if (is_numeric($id)) {
                 $properties[$id] = $v;
                 unset($params[$k]);
             }
         }
     }
     $params['category_id'] = $params['category'];
     unset($params['category']);
     $images = $params['images'];
     unset($params['images']);
     unset($params['uploadImages']);
     if ($request->hasFile('coverImage')) {
         $file = $request->file('coverImage');
         $fileName = md5(uniqid()) . '.' . $file->getClientOriginalExtension();
         $file->move(base_path() . '/public/upload', $fileName);
         $params['cover'] = '/upload/' . $fileName;
     }
     unset($params['coverImage']);
     if ($request->hasFile('evaluationPersonImage')) {
         $file = $request->file('evaluationPersonImage');
         $fileName = md5(uniqid()) . '.' . $file->getClientOriginalExtension();
         $file->move(base_path() . '/public/upload', $fileName);
         $params['evaluation_person_image'] = '/upload/' . $fileName;
     }
     unset($params['evaluationPersonImage']);
     $params['goods_description'] = $params['description'];
     unset($params['description']);
     $activityClassification = $params['activityClassification'];
     unset($params['activityClassification']);
     $freePost = $params['freePost'];
     unset($params['freePost']);
     $goods = Goods::create($params);
     foreach ($properties as $key => $value) {
         $arr = explode(',', $value);
         foreach ($arr as $i) {
             GoodsCategoryProperty::create(['category_property_id' => $key, 'goods_id' => $goods->id, 'value' => $i]);
         }
     }
     if ($activityClassification != -1) {
         ActivityClassificationGoods::create(['activity_classification_id' => $activityClassification, 'goods_id' => $goods->id]);
     }
     if ($freePost != -1) {
         FreePostGoods::create(['free_posts_id' => $freePost, 'goods_id' => $goods->id]);
     }
     $len = strlen($images);
     if ($len > 0) {
         $images = substr($images, 0, $len - 1);
         $images = explode(',', $images);
         foreach ($images as $i) {
             $goodsImage = new GoodsImages();
             $goodsImage->goods_id = $goods->id;
             $goodsImage->image_id = $i;
             $goodsImage->save();
         }
     }
     return redirect()->action('Admin\\GoodsController@show');
 }