2016-11-28 2 views
0

Ich arbeite an einer Funktion, die in die Top 8 am meisten angesehenen Beiträge aus einer Datenbank ziehen soll. Der Code, den ich verwende, ist nicht ganz zurück, was ich brauche, und ich bin mir nicht sicher, warum das passiert. Der Name meiner Datenbankzeile lautet views. Der Code ich benutze ist unten:Zurück Beiträge mit den meisten Ansichten in Laravel 5.2

$most_populars = \App\Post::where('status', '=', 'PUBLISHED')->get()->sortByDesc('views'); 
dd($most_populars); 

Als ich diese, ich ein Array von 123 Beiträgen zurückbekommen, was ist das, was ich erwarte. Also die nächste verwende ich eine foreach-Schleife die Ansichten wie folgt zu erhalten:

foreach ($most_populars as $most_popular) { 
    dd($most_popular->views); 
} 

Wenn ich die dd verwenden() innerhalb der foreach-Schleife, erhalte ich die Post mit den meisten Ansichten, aber ich nur den ersten bekommen . Warum ist das? Sollte ich die Anzahl der Aufrufe für 123 andere Beiträge nicht sehen? Jede Hilfe, die ich bekommen kann, ist eine große Hilfe =) Danke Jungs.

+1

Wenn Sie 'dd()', es das Skript zu diesem Zeitpunkt tötet, so wird es immer nur die erste zeigen. Wenn Sie alle Ansichten anzeigen möchten, echo Sie es, protokollieren Sie es oder rufen Sie eine der Objekteigenschaften ab. – aynber

+0

Raus! Nun, ich habe gerade etwas Neues gelernt =) Fühlen Sie sich frei, das in eine schnelle Antwort zu werfen, und ich werde gerne eine Aufzählung geben. Vielen Dank. –

Antwort

2

dd() wird das Skript beenden. Die Funktion selbst sieht wie folgt aus:

function dd() 
{ 
    array_map(function($x) { (new Dumper)->dump($x); }, func_get_args()); 

    die; 
} 

Notiere die die am Ende. Wenn Sie jeden Wert erhalten wollen, dann echo es oder logge es ein.

+0

Akzeptiert auch so bald wie SO lasst mich. –