dbで最高の「スコア」を検索することになっている関数があります。Dbは次のように構成されています。
----------------------------------------
| id | UrlId | Article | Score |
----------------------------------------
最高のスコアを正しく取得できますが、最高のスコアに基づいてオブジェクト全体を返す方法がわかりません。dbには潜在的に10000のレコードがあるため、テーブル全体をループして'score'の値をテストし、どれが最も高いかを確認するのは気が進まない(とにかくそうしていると思うが、入力している)。これは非常に単純なことだと確信していますが、私には「今日は馬鹿げていて頭がおかしい」というものがあります。もっとエレガントな解決策を知っている人はいますか?
私の最終結果は次のようになる必要があります。同じトップスコアを持つ4つのUrlIdがある場合、ユーザーは次を確認する必要があります。
UrlId example1 20(スコア)
UrlId example2 20(スコア)
UrlId example3 20(スコア)
UrlId example4 20(スコア)
他のすべての結果は表示されません。
function gethappiestBlog() {
$happiestBlogs = /* This is the data that I loop through, this is correct */
$happinessArray = array();
foreach($happiestBlogs as $happiestBlog) {
$happinessArray[]= $happiestBlog->Score;
}
$maxHappy = max($happinessArray);
echo $maxHappy;
}