0

以前の質問で、データベースから取得した結果に列を追加するためにミューテーターを実行しました (皆さんが私を助けてくれたので)。

今私の問題は次のとおりです。作成された属性で結果を注文するにはどうすればよいですか?

そこにあります:

public function getRatingAttribute()
{

    return $this->reviews()
        ->selectRaw('AVG(reviews.rating) as aggregate')
        ->pluck('aggregate');

}
4

1 に答える 1

0

メインのSQLリクエストがすでに完了した後にミューテーターデータがフェッチされるため、DBはそれをソートできません。Collection メソッドを使用して php で結果をソートする必要があります。$my_results->sortByDesc('rating');

ページネーションを使用する必要がある場合、それは大きな問題であり、ミューテーターよりもジョインを使用する方がよいでしょう。

于 2015-09-09T04:14:13.827 に答える