Я разрабатываю приложение, которое позволяет пользователю публиковать сообщение и отправлять его на несколько Устройств.Eloquent select pivot and update
Message
и Devices
являются обе модели, которые связаны с таблицей device_message
поворота с помощью message_id
и device_id
как то же самое может быть отправлено сообщение со многими устройствами.
У меня есть событие, которое срабатывает при создании Message
. Событие отправляет push-уведомление устройствам, которые я хотел бы создать новый столбец в сводной таблице device_message
, чтобы записать, было ли это сообщение успешно отправлено на устройство. Этот столбец называется success
и является булевым.
Событие имеет петлю foreach, которая выбирает соответствующую запись сообщения в таблице device_message
. В этом цикле отправляется push-уведомление. Если уведомление отправлено успешно, я хочу изменить столбец success
в сводной таблице на true
. Как мне это сделать?
Чтобы дать некоторый контекст, этот оператор возвращает все записи в сводной таблице для соответствующих устройств.
$event->message->belongsToMany('Aiir\Models\Device')->withPivot('device_id', 'message_id')->where('device_id', $event->device->id)