$alarm) { $event = Event::with('competition_group')->with('home')->with('away')->find($event_id); foreach ($alarm as $user_id => $alarm_user) { $user = User::find($user_id); foreach ($alarm_user as $bookmaker_id => $alarm_user_bookmaker) { $bookmaker = Bookmaker::find($bookmaker_id); foreach ($alarm_user_bookmaker as $mode => $alarm_user_bookmaker_mode) { foreach ($alarm_user_bookmaker_mode as $fieldname => $alarm_level_id) { $bet = OddsName::where('alarm', $fieldname)->select('table', 'bettype', 'name')->first()->toArray(); $quote = DB::table($bet['table'])->where('event_id', $event_id)->where('bookmaker_id', $bookmaker_id)->value($bet['name']); switch ($mode) { case 'mail': $send = CheckSend::check($event_id, $user_id, $bookmaker_id, $alarm_level_id, $fieldname, 'notify_by_email'); if (! $send) { $send = PersonalNotificationSend::create([ 'event_id' => $event_id, 'user_id' => $user_id, 'bookmaker_id' => $bookmaker_id, 'alarm_level_id' => $alarm_level_id, 'fieldname' => $fieldname, 'notify_by_mail' => 1, ]); switch ($alarm_level_id) { case 1: $message = 'ALARM LEVEL '.$alarm_level_id; break; case 2: $message = 'ALARM LEVEL '.$alarm_level_id; break; default: $message = 'ALARM LEVEL '.$alarm_level_id; break; } $tablecontent = [ ['key' => 'League', 'value' => $event->competition_group->name], ['key' => 'Event', 'value' => $event->home->name.' vs '.$event->away->name], ['key' => 'Startime', 'value' => $event->starttime], ['key' => 'Bookmaker', 'value' => $bookmaker->name], ['key' => 'Bettype', 'value' => $bet['bettype']], ['key' => 'Odd Name', 'value' => $bet['name']], ['key' => 'Value', 'value' => $quote], ['key' => 'Id', 'value' => $event_id], ]; Mail::to($user) ->send(new AlarmNotification($message, $tablecontent, $alarm_level_id)); } $stored_alarms[] = $send; break; case 'system': $send = CheckSend::check($event_id, $user_id, $bookmaker_id, $alarm_level_id, $fieldname, 'notify_by_system'); if (! $send) { $send = PersonalNotificationSend::create([ 'event_id' => $event_id, 'user_id' => $user_id, 'bookmaker_id' => $bookmaker_id, 'alarm_level_id' => $alarm_level_id, 'fieldname' => $fieldname, 'notify_by_system' => 1, ]); switch ($alarm_level_id) { case 1: $title = '