【发布时间】:2017-02-23 16:01:48
【问题描述】:
我正在开发一个允许用户发布消息并将其发送到多个设备的应用程序。
Message 和Devices 都是使用message_id 和device_id 与device_message 数据透视表链接的模型,因为相同的消息可以发送到许多设备。
我有一个在创建 Message 时触发的事件。该事件向设备发送推送通知我想在device_message 数据透视表中创建一个新列以记录该消息是否已成功发送到设备。此列名为success,是一个布尔值。
该事件有一个 foreach 循环,用于选择 device_message 表中的相关消息记录。在此循环内发送推送通知。如果通知发送成功,我想将数据透视表中的success 列更改为true。我该怎么做?
为了提供一些上下文,此语句返回相关设备的数据透视表中的所有记录。
$event->message->belongsToMany('Aiir\Models\Device')->withPivot('device_id', 'message_id')->where('device_id', $event->device->id)
【问题讨论】: