# Repository Pattern

Eloquent (opens new window), the ORM (opens new window) in Laravel, provide a higher level of abstraction and make working with databases more convenient, as you can focus on manipulating objects rather than dealing with raw SQL queries.

To further enhance flexibility and maintainability, Bagisto incorporates the Repository pattern as an additional layer on top of the ORM.

By implementing the Repository pattern, Bagisto restricts the use of raw queries throughout the application. This ensures consistency and promotes better code organization.

Bagisto utilizes the Prettus Repository (opens new window) package to facilitate the implementation of the Repository pattern. This choice enhances the flexibility of the application, making it easier to maintain and extend.