Ich versuche herauszufinden, wie ich einer Reihe von Anrufaufzeichnungen Zuschlagsraten hinzufügen kann. Bis vor kurzem haben sich die Preise noch nie geändert und ich kann den richtigen Tarif für ein Call Detail Record (CDR) erhalten, aber jetzt haben wir ab dem 1. Mai neue Preise. Die Rate basiert auf dem Land, aus dem der Anruf stammt. Nicht alle Länder haben eine Rate und wir können unterschiedliche Preise pro Kunden haben. Wir müssen jetzt den historischen Preis für einen CDR haben, wenn das Calldate vor dem 1. Mai 2025 oder der neue Preis war, wenn das Datum nach dem 1. Mai stattfindet. Was so etwas wie das unten für jeden Cdr. < /P>
zurückgibt
Code: Select all
"calldate": "2025-04-30 16:39:42"
"src": "353833333333"
"dst": "1800000000"
"duration": 33
< /code>
Ich muss dann das Land bestimmen, aus dem die SRC gerufen hat. Ich mache dies, indem ich die Anrufunterlagen durchläufe. In dieser Schleife habe ich eine Reihe von Phonecodes/Country -Daten, durch die ich mit dem SRC -Wert aus dem CDR verglichene. Etwas wie unten. < /P>
// Get the Call records
$cdrs = DB::connection('db2')
->table('cdr)
->whereDate('calldate', '>=', $filters['start_date'])
->whereDate('calldate', '