2016-11-28 14 views
0

私は、データベースから最も多く閲覧された上位8個のポストを取得する予定の機能に取り組んでいます。私が使用しているコードは、必要なものを返すものではありません。なぜこれが起こっているのか分かりません。私のデータベースの行の名前はviewsです。私が使用しているコードは以下の通りです:多くのビューを含む投稿をlaravel 5.2

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

これを使用すると、予想通りの123の投稿の配列が得られます。私は、foreachループの内側)DDを(使用する場合

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

、私はほとんどの景色を望むポストを得るが、私は最初のものだけを得る:だから次は私はこのようなビューを取得するには、foreachループを使用します。どうしてこれなの?私は他の123の投稿の閲覧数を見なければならないのですか?私が得ることができるどんな助けも大きな助けです=)おかげでみんな。

+1

'dd()'を実行すると、その時点でスクリプトが強制終了されるので、最初のスクリプトのみが表示されます。すべてのビューが必要な場合は、それをエコーし​​てログに記録するか、オブジェクトのプロパティのいずれかを取得します。 – aynber

+0

お出かけ!まあ、私はちょうど何か新しいことを学んだ=)素早く答えにそれをスローすることを自由に感じ、私は喜んでupvoteを与えるでしょう。ありがとうございました。 –

答えて

2

dd()はスクリプトを強制終了します。機能自体は、次のようになります

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

    die; 
} 

終わりdieに注意してください。それぞれの値を取得したい場合は、それをエコーするかログに記録します。

+0

すぐに受け付けてすぐに私を聞かせてください。 –

関連する問題