예제 #1
0
 public function store(Request $request)
 {
     $user = User::find($request['user']['sub']);
     $resource = new Resource();
     DB::transaction(function () use($request, $resource, $user) {
         $tags = $request->input('tags');
         $tag_collection = collect($tags);
         $tags_flat = $tag_collection->implode('name', '; ');
         $tags_pretty = $tag_collection->implode('description', '; ');
         Log::info($tag_collection);
         $tag_first = $tag_collection->first();
         Log::info($tag_first);
         $countries = $request->input('countries');
         $country_collection = collect($countries);
         $countries_flat = $country_collection->implode('name', '; ');
         $countries_pretty = $country_collection->implode('description', '; ');
         $organization = $request->input('organization_owner');
         Log::info($organization);
         $resource->description = $request->input('description');
         $resource->conditions = $request->input('conditions');
         $resource->cost = $request->input('cost');
         $resource->name = $request->input('name');
         $resource->call_id = $request->input('call_id');
         if (isset($organization)) {
             $resource->organization_id = $organization['id'];
         }
         if (isset($tag_first)) {
             $resource->main_type = $tag_first['parent_id'];
         }
         $resource->image = $request->input('image');
         $resource->tags = $tags_flat;
         $resource->tags_pretty = $tags_pretty;
         $resource->countries = $countries_flat;
         $resource->countries_pretty = $countries_pretty;
         $resource->user_id = $user->id;
         $resource->save();
         foreach ($tags as $tag) {
             $rrt = new ResourceResourceType(array('resource_id' => $resource->id, 'resource_type_id' => $tag['id']));
             $rrt->save();
         }
     });
     return $resource;
 }