Beispiel #1
0
 /**
  * Update the facets for a definition
  *
  * @param Eloquent $definition
  *
  * @return void
  */
 private function updateFacets($definition)
 {
     $facet_types = \FacetType::all()->toArray();
     foreach ($definition->facets() as $facet) {
         \Facet::delete($facet['id']);
     }
     foreach ($facet_types as $facet_type) {
         $facet_name = $facet_type['facet_name'];
         if (!empty($definition->{$facet_name})) {
             $facet = \Facet::create(['definition_id' => $definition->id, 'facet_id' => $facet_type['id'], 'facet_name' => $facet_type['facet_name'], 'value' => $definition->{$facet_name}]);
             $facet->save();
         }
     }
     // Process keywords if present
     if (!empty($definition->keywords)) {
         // Split the keywords
         $keywords = explode(',', $definition->keywords);
         foreach ($keywords as $keyword) {
             $facet = \Facet::create(['definition_id' => $definition->id, 'facet_id' => $facet_type['id'], 'facet_name' => 'keyword', 'value' => $keyword]);
             $facet->save();
         }
     }
 }