kukuruzniykrolik / doctrine-traits
Traits for doctrine orm
1.0.0
2024-11-02 08:52 UTC
Requires
- php: ^8.2
- doctrine/orm: ^2.11 || ^3.0
README
This is a simple package for doctrine/orm
that allows you to use Traits to simplify certain routine tasks.
WithTrait
Enables fetching entities along with others.
Repository:
class CategoryRepository extends ServiceEntityRepository { use WithTrait; // <-- add trait public function __construct(ManagerRegistry $registry) { parent::__construct($registry, Category::class); } }
Our service or controller
class CategoryController extends AbstractController { public function __construct( private readonly CategoryRepository $categoryRepository, ) { } public function index(): Response { $result = $this->categoryRepository ->with(['products', 'products.image']) // <-- load eager with products and products images ->getQuery() ->getResult(); return $this->json($result); } }
Also you can set other parameters for with()
//code $this->categoryRepository ->with( $fields, // Array of fields $join, // String of join type ['left', 'inner'] $qb, // QueryBuilder ) //code