PHP code example of shipmonk / doctrine-entity-preloader
1. Go to this page and download the library: Download shipmonk/doctrine-entity-preloader library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
shipmonk / doctrine-entity-preloader example snippets
use ShipMonk\DoctrineEntityPreloader\EntityPreloader;
$categories = $entityManager->getRepository(Category::class)->findAll();
$preloader = new EntityPreloader($entityManager);
$articles = $preloader->preload($categories, 'articles'); // 1 query to preload articles
$preloader->preload($articles, 'tags'); // 2 queries to preload tags
$preloader->preload($articles, 'comments'); // 1 query to preload comments
// no more queries are needed now
foreach ($categories as $category) {
foreach ($category->getArticles() as $article) {
echo $article->getTitle(), "\n";
foreach ($articles->getTags() as $tag) {
echo $tag->getLabel(), "\n";
}
foreach ($articles->getComments() as $comment) {
echo $comment->getText(), "\n";
}
}
}