2016-09-08 7 views
5

Ich laufe eine Abfrage, die eine Sammelanordnung mit 7 Elementen zurückgibt -Laravel beredt manipulieren Sammlung

$uniques = Analytics::fetchviews(Period::days(7))->take(7); 

Die Sammlung Ergebnisse this- aussehen

2 => array:4 [▼ 
    "date" => Carbon {#247 ▶} 
    "uniquePageviews" => 1 
    "pageViews" => 1 
] 

Gerne möchte ich herauszunehmen pageViews und uniquePageviews und arbeiten Sie mit diesen Ganzzahlen, bevor Sie die Ergebnisse in einer Ansicht übergeben. Wie kann ich die Daten in der Sammlung direkt bearbeiten?

Antwort

3

Eine Sammlung ist nur eine Liste von Modellen. Sie können über sie iterieren, mit ihren Attributen arbeiten und so weiter. Zum Beispiel:

foreach ($uniques as $unique) { 
    var_dump($unique->pageViews); 
} 
+0

Muss ich dies innerhalb der Steuerung Foreach ich war nicht sicher, ob ich explizit auf ein Objekt aus dem Array zugreifen könnte. Ich weiß, so würden Sie das aus einer Sicht tun. – SamXronn

+0

Ja, Sie können in der Steuerung foreach - ob das der richtige Ort ist, um dies zu tun, ist eine andere Frage. Wenn Sie beispielsweise Summen verwenden, sollten Sie die Datenbank im Modell nachfragen. Sammlungen sind nicht wirklich ein Array, sie verhalten sich einfach ähnlich. Bitte beachten Sie [die Dokumentation] (https://laravel.com/docs/5.3/collections). – Elias

+0

Danke Ich würde normalerweise die Datenbankdaten manipulieren, aber dies ist ein API-Anruf, also bin ich ein bisschen eingeschränkt mit, wie ich arbeite Dinge zu tun. – SamXronn