You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
1.4 KiB

  1. <?php
  2. namespace App\Notifications;
  3. use Illuminate\Bus\Queueable;
  4. use Illuminate\Contracts\Queue\ShouldQueue;
  5. use Illuminate\Notifications\Messages\MailMessage;
  6. use Illuminate\Notifications\Notification;
  7. class DBNotification extends Notification
  8. {
  9. use Queueable;
  10. public $message;
  11. /**
  12. * Create a new notification instance.
  13. *
  14. * @return void
  15. */
  16. public function __construct($message)
  17. {
  18. $this->message = $message;
  19. }
  20. /**
  21. * Get the notification's delivery channels.
  22. *
  23. * @param mixed $notifiable
  24. * @return array
  25. */
  26. public function via($notifiable)
  27. {
  28. return ['database'];
  29. }
  30. /**
  31. * Get the mail representation of the notification.
  32. *
  33. * @param mixed $notifiable
  34. * @return \Illuminate\Notifications\Messages\MailMessage
  35. */
  36. public function toMail($notifiable)
  37. {
  38. return (new MailMessage)
  39. ->line('The introduction to the notification.')
  40. ->action('Notification Action', url('/'))
  41. ->line('Thank you for using our application!');
  42. }
  43. /**
  44. * Get the array representation of the notification.
  45. *
  46. * @param mixed $notifiable
  47. * @return array
  48. */
  49. public function toArray($notifiable)
  50. {
  51. return [
  52. 'data' => $this->message['body']
  53. ];
  54. }
  55. }