2016-08-04 10 views
0

私はfieldに重複したエントリをフィルタリングし、タイムスタンプでソートされた一意の値を返すLaravelの雄弁なクエリを持っています。代わりに、単に「フィルタリング」の重複の大文字小文字で並べ替え

$test = $this->myModel 
    ->orderBy('timestamp', 'desc') 
    ->groupBy('field') 
    ->get(); 

、私はそれらをカウントし、各重複のカウントが注文したデータを返すようにしたいと思います。

また、データで実際のカウント数を返すことは可能ですか、または2つの異なるクエリを使用する必要がありますか?

答えて

1

あなたはgroupBy'dフィールドを数え、その数でソートすることができます。

$test = $this->myModel 
    ->select('my_models.*', 'COUNT(field) as fieldcount') 
    ->orderBy('timestamp', 'desc') 
    ->groupBy('field') 
    ->sortBy('fieldcount', 'desc') 
    ->get(); 
関連する問題