사용자가 메시지를 게시하고 여러 장치로 보낼 수있는 앱을 개발 중입니다.Eloquent select pivot and update
Message
Devices
와 동일한 메시지가 다수의 장치로 전송 될 수 message_id
및 device_id
를 사용 device_message
피벗 테이블과 연결된 두 모델이다.
Message
이 생성 될 때 발생하는 이벤트가 있습니다. 이벤트는 기기에 푸시 알림을 전송합니다. device_message
피봇 테이블에 새 열을 만들어 메시지가 기기에 성공적으로 전송되었는지 여부를 기록합니다. 이 열은 success
이고 부울입니다.
이벤트에는 device_message
테이블에서 관련 메시지 레코드를 선택하는 foreach 루프가 있습니다. 이 루프 내에서 푸시 알림이 전송됩니다. 알림이 성공적으로 전송 된 경우 피벗 테이블의 success
열을 true
으로 변경하고 싶습니다. 어떻게해야합니까?
이 문은 관련 장치에 대한 피벗 테이블의 모든 레코드를 반환합니다.
$event->message->belongsToMany('Aiir\Models\Device')->withPivot('device_id', 'message_id')->where('device_id', $event->device->id)