编辑:如果使用Laravel
5.2或更高版本,请使用kJamesy的答案。它的性能可能会好一些,因为它不需要将所有参与者和hackathon加载到内存中,仅需要分页的hackathon和这些hackathon的参与者数。
您应该可以使用
Collection的
sortBy()和
count()方法来轻松完成此操作。
$hackathons = Hackathon::with('participants')->get()->sortBy(function($hackathon){ return $hackathon->participants->count();});


