А в чём сложность-то?
class UserRepository {
    public function save(User $user)
    {
        $user->save();
    }
    public function findMale()
    {
        return User::find()->active()->male();
    }
}
Всё, что делает репозиторий - это абстрагирует вас от конкретной реализации получения/сохранения сущности.
Можете сюда хоть голый SQL писать, хоть чтение данных из файла делать.
Главное, чтобы метод возвращал строго то, что нужно.