/** * Store a newly created resource in storage. * POST /beer * * @return Response */ public function store() { if (Input::get('beer_id')) { $beer = Beer::find(Input::get('beer_id')); echo "already in db beer"; } else { $beer = new Beer(); echo "new beer!"; } $brewers = []; for ($i = 1; $i <= Input::get('brewer-count'); $i++) { $brewer = Brewer::find(Input::get('brewer-' . $i . '_id')); if (!$brewer) { return Redirect::back()->withInput()->withMessage('Invalid Brewer ' . $i); } $brewers[] = $brewer->id; } $style = Style::find(Input::get('style_id')); if (!$style) { return Redirect::back()->withInput()->withMessage('Invalid Style'); } $beer->name = Input::get('name'); //$beer->brewer_id = $brewer->id; $beer->style_id = $style->id; $beer->ratebeer = Input::get('ratebeer_url'); $beer->beeradvocate = Input::get('beeradvocate_url'); $beer->album = Input::get('album'); $beer->page = Input::get('page'); $beer->position = Input::get('position'); $beer->save(); $beer->brewer()->sync($brewers); for ($i = 1; $i <= Input::get('sticker-count'); $i++) { if (Input::hasFile('sticker-' . $i)) { $f = Input::file('sticker-' . $i); //Change the image name: s<number_of_service>-<filename>. $filename = 'beerr-' . $beer->id . '-' . $f->getClientOriginalName(); //Move it to our public folder $f->move(public_path() . '/upload/', $filename); //This is the path to show it on the web $complete_path = '/upload/' . $filename; //create the gallery $image = array('path' => $complete_path, 'brewer_id' => NULL, 'beer_id' => $beer->id); $img = Image::create($image); if (Input::get('sticker-' . $i . '_id') != null) { $sticker = Sticker::find(Input::get('sticker-' . $i . '_id')); $sticker->img_id = $img->id; $sticker->type = "front"; //Input::get('sticker-'.$i.'_type'); $sticker->save(); } else { $sticker = Sticker::create(['beer_id' => $beer->id, 'image_id' => $img->id, 'type' => "front"]); } echo "Sticker created " . $sticker->id; } else { if (Input::file('sticker-' . $i)->isValid()) { echo "IS F****N VALID"; } else { echo "IS F****N INVALID"; } echo 'sticker-' . $i . " has no file"; echo "<pre>" . print_r(Input::all(), 1) . "</pre>"; exit; } } return Redirect::to('dashboard/beers'); }
/** * @param array $attributes */ public function loadRelated(array $attributes) { parent::loadRelated($attributes); if (isset($attributes['from'])) { $this->from = User::create($attributes['from']); } if (isset($attributes['chat'])) { $this->chat = isset($attributes['chat']->title) ? GroupChat::create($attributes['chat']) : User::create($attributes['chat']); } if (isset($attributes['forward_from'])) { $this->forward_from = User::create($attributes['forward_from']); } if (isset($attributes['forward_from_chat'])) { $this->forward_from_chat = Chat::create($attributes['forward_from_chat']); } if (isset($attributes['reply_to_message'])) { $this->reply_to_message = Message::create($attributes['reply_to_message']); } if (isset($attributes['entities'])) { $this->entities = array_map(function ($entity) { return MessageEntity::create($entity); }, $attributes['entities']); } if (isset($attributes['audio'])) { $this->audio = Audio::create($attributes['audio']); } if (isset($attributes['document'])) { $this->document = Document::create($attributes['document']); } if (isset($attributes['photo'])) { $this->photo = array_map(function ($photo) { return PhotoSize::create($photo); }, $attributes['photo']); } if (isset($attributes['sticker'])) { $this->sticker = Sticker::create($attributes['sticker']); } if (isset($attributes['video'])) { $this->video = Video::create($attributes['video']); } if (isset($attributes['voice'])) { $this->voice = Voice::create($attributes['voice']); } if (isset($attributes['contact'])) { $this->contact = Contact::create($attributes['contact']); } if (isset($attributes['location'])) { $this->location = Location::create($attributes['location']); } if (isset($attributes['venue'])) { $this->venue = Venue::create($attributes['venue']); } if (isset($attributes['new_chat_member'])) { $this->new_chat_member = User::create($attributes['new_chat_member']); } if (isset($attributes['left_chat_member'])) { $this->left_chat_member = new User($attributes['left_chat_member']); } if (isset($attributes['new_chat_photo'])) { $this->new_chat_photo = array_map(function ($photo) { return PhotoSize::create($photo); }, $attributes['new_chat_photo']); } }