Exemple #1
0
 /**
  * Get Ad fields.
  *
  * @param Ad $ad
  *
  * @return Collection
  */
 function getAdFields($ad)
 {
     $mergedFields = [];
     if (!$ad->has('fields')) {
         return [];
     }
     $fields = $ad->fields()->orderBy('is_price', 'desc')->with('select')->whereIsInAd(true)->get();
     foreach ($fields as $field) {
         $value = $field->type != 5 ? $field->pivot->value : $field->pivot->string;
         if (isset($mergedFields[$field->id])) {
             $oldValue = $mergedFields[$field->id];
             $mergedFields[$field->id] = is_array($oldValue) ? array_merge($oldValue, [$value]) : [$oldValue, $value];
         } else {
             $mergedFields[$field->id] = $value;
         }
     }
     return collect($mergedFields);
 }