【问题标题】:Sending sms to multiple phone numbers with Laravel Notifications使用 Laravel 通知向多个电话号码发送短信
【发布时间】:2017-06-25 05:57:53
【问题描述】:

我正在开发一个网站,并希望使用 Laravel 5.4 使用 Nexmo 向多个电话号码发送短信。

我的应用程序在User(Notifiable)和PhoneNumber 模型之间存在一对多关系。后者有user_idnumber 字段。

我想使用 Laravel 提供的优雅的通知系统,并且能够通过 $user->notify(new FooNotification()) 向所有给定用户的电话号码发送消息。

我已尝试通过将routeNotificationForNexmo 函数添加到我的User 模型并将电话号码作为字符串数组返回来路由通知,但正如预期的那样返回错误(“数组到字符串转换”)。

有什么想法吗?提前致谢。

编辑:目前,我已经让 PhoneNumber 实现了Notifiable,然后我只需要为每个用户的电话号码调用notify()...我仍然希望有更好的解决方案不过。

【问题讨论】:

  • 你是如何返回数字的,发布你的代码
  • @Rahul 正如我所说,我将它们作为字符串数组返回。
  • 所以你会得到这个错误('数组到字符串转换')。
  • 我从来没有为nexmo试过这个。但是要向许多人发送电子邮件,您不能使用 $user->notify(new EmailNotification) 而是可以使用通知外观,例如 Notification:send($user->emails, new EmailNotification) 。既然你有数据,你可以很容易地尝试一下。看看有没有效果
  • @PeymanSeraj 感谢您的建议。恐怕没有用。

标签: php laravel laravel-5.4


【解决方案1】:
  1. Notifiable 特征添加到您的PhoneNumber 模型中。 (我看到你已经这样做了)
  2. routeNotificationForNexmo 函数添加到PhoneNumber 模型中。
  3. 像这样使用通知门面:Notification::send($user->numbers, new FooNotification)

【讨论】:

  • 这就是我现在正在做的,我对这个选项不是很满意。在 PhoneNumber 模型上拥有 Notifiable 特征感觉非常尴尬。
  • 它确实解决了问题/问题,但是是吗?我认为这将有助于记住 Laravel 通知在逻辑上是用于跨多个渠道发送信息的,因为您不必担心哪个渠道可以到达用户。如果解决方案对您来说似乎很混乱,最好将功能切换到您自己的自定义短信服务,该服务为一个用户处理多个有效电话号码。
猜你喜欢
  • 2023-04-02
  • 2019-03-05
  • 1970-01-01
  • 2013-12-04
  • 1970-01-01
  • 1970-01-01
  • 2019-01-09
  • 2015-01-04
相关资源
最近更新 更多