All of the above can be implemented with adapter interfaces, which can support different data source types;
If you want to extend it yourself, take Doctrine as an example. You can make a base class for Repository, implement the paging logic you need in this base class, and configure the Models with specific implementations inherited from this Repository. As for the placement location of the Repository, it can be placed under the Entity (Doctrine ORM) or Document (MongoDB) folder of the Bundle
There are two third-party bundles:
All of the above can be implemented with adapter interfaces, which can support different data source types;
If you want to extend it yourself, take Doctrine as an example. You can make a base class for Repository, implement the paging logic you need in this base class, and configure the Models with specific implementations inherited from this Repository. As for the placement location of the Repository, it can be placed under the Entity (Doctrine ORM) or Document (MongoDB) folder of the Bundle