2016-11-28 34 views
0

我正在研究一個應該從數據庫中查看前8個最常見帖子的功能。我使用的代碼並沒有完全回報我需要的內容,我不知道爲什麼會發生這種情況。我的數據庫行名是views。我正在使用的代碼如下:在laravel中返回大多數視圖的帖子5.2

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

當我使用這個,我得到一個123個帖子的數組,這是我所期望的。所以下次我用foreach循環得到這樣的看法:

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

當我使用dd()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

儘快讓我們接受吧。 –