orwhere('notify_by_email', 1)->orderby('bookmaker_id')->get(); $alarms = []; foreach ($users as $user) { $events = EventBookmaker::where('bookmaker_id', $user->bookmaker_id)->get(); foreach ($events as $event) { foreach ($map[$event->sport_id] as $field) { if ($event[$field] == $user->alarm_level_id) { if ($user->notify_by_system) { $alarms[$event->event_id][$user->user_id][$user->bookmaker_id]['system'][$field] = $event[$field]; } if ($user->notify_by_email) { $alarms[$event->event_id][$user->user_id][$user->bookmaker_id]['mail'][$field] = $event[$field]; } } } } } return $alarms; } }