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