get(); $fields = []; foreach ($res as $value) { $fields[$value->name] = explode(',', $value->fieldnames); } $events = Event::with('event_bookmaker') ->where('sport_id', auth()->user()->sport_id) ->where('starttime', '>=', now()) ->whereHas('event_bookmaker', function ($query) { $query->where('bookmaker_id', auth()->user()->bookmaker_id); }) ->get(); $arr = []; foreach ($events as $event) { $row = $event->event_bookmaker; // $row = get_object_vars($event->toArray()); foreach ($fields as $table => $names) { foreach ($names as $name) { $val = (int) $row[$name]; if ($val) { if (isset($arr[$table][$val])) { $arr[$table][$val]++; } else { $arr[$table][$val] = 1; } } } } } return $arr; } }