Ejemplo n.º 1
0
 /**
  * Create a notification record and send an email (depending on user
  * preference) from a blueprint to a list of recipients.
  *
  * @param BlueprintInterface $blueprint
  * @param User[] $recipients
  */
 protected function sendNotifications(BlueprintInterface $blueprint, array $recipients)
 {
     $now = Carbon::now('utc')->toDateTimeString();
     event(new NotificationWillBeSent($blueprint, $recipients));
     $attributes = $this->getAttributes($blueprint);
     Notification::insert(array_map(function (User $user) use($attributes, $now) {
         return $attributes + ['user_id' => $user->id, 'time' => $now];
     }, $recipients));
     if ($blueprint instanceof MailableInterface) {
         $this->mailNotifications($blueprint, $recipients);
     }
 }