この投稿へのコメントのおかげで私はそれを理解しました
User::leftJoin('images', function ($join) {
$join->on('users.id', '=', 'images.imageable_id')
->where('imageable_type', '=', 'User')
->where('upload_date', '=', Carbon::today()->toDateString());
})
->orderBy('images.views')
->select(['players.*']);
以前にこれと同様のことを試しましたが、IDと他の列が、結合された2つのテーブル間で衝突していたため、問題が発生していました。今回の違いは->select(['users.*'])
。これで、ユーザーのデータのみが返されます。