/** * Store a newly created resource in storage. * * @return Response */ public function store() { $validator = Validator::make(Input::all(), array('company_id' => 'required', 'name' => 'required', 'description' => 'required', 'url' => 'required|url', 'photo' => 'required|image')); if ($validator->fails()) { return Response::json($validator->messages(), 400); } $item = new Item(); $item->company_id = Input::get('company_id'); $item->name = Input::get('name'); $item->description = Input::get('description'); $item->url = Input::get('url'); //temporary for territory $item->territory_id = 1; $item->save(); //save tags if available foreach (Input::get('tag') as $tagid) { $item->tags()->attach($tagid); } $image = Input::file('photo'); $filename = $item->id; $saveBigUrl = base_path() . '/public/images/items/' . $filename . '.jpg'; $saveMediumUrl = base_path() . '/public/images/items/' . $filename . '_medium.jpg'; $saveSmallUrl = base_path() . '/public/images/items/' . $filename . '_small.jpg'; Image::make($image->getRealPath())->fit(600, null, function ($constraint) { //for big image $constraint->upsize(); })->save($saveBigUrl, 50)->fit(300)->save($saveMediumUrl, 50)->fit(100)->save($saveSmallUrl, 50); $item->big_image_url = url('images/items/' . $filename . '.jpg'); $item->medium_image_url = url('images/items/' . $filename . '_medium.jpg'); $item->small_image_url = url('images/items/' . $filename . '_small.jpg'); $item->save(); return Response::json(array('success_code' => 'OK', 'data' => $item->toArray()), 200); }