Sending email notifications, each to a different set of subscribers
Is there any reason for this to be a concrete class/method?



You only seem to be considering happy path.

What happens in DB connection failure occurs?  Have you considered passing the DB connection/object as a dependency to this class or method such that this class/method is guaranteed it gets a connection in a proper state?



Have you considered using a join to get notification/subscriber information in a single query and not have to query in loops?




Email::getMailer()-&gt;send(...)



Do you really need to instantiate mailer here every time? Should mailer be a passed dependency?



Do you not need a unique key for performing your update? Right now it looks like you are updating every record on the table.



Do you really want to be updating unix timestamps into the table as opposed to using appropriate MySQL datetime or timestamp fields?