Last active
August 17, 2021 01:38
-
-
Save webdevilopers/e65f795749c40601276f60a5a3517a85 to your computer and use it in GitHub Desktop.
Revisions
-
webdevilopers revised this gist
Apr 26, 2016 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -30,7 +30,7 @@ public function postLoad(LifecycleEventArgs $eventArgs) ->reflClass->getProperty('supplier'); $supplierReflProp->setAccessible(true); $supplierReflProp->setValue( $order, $this->_em->getRepository('AcmeBundle:Supplier') ->find($order->supplier()) ); } -
webdevilopers revised this gist
Apr 26, 2016 . 2 changed files with 12 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -19,7 +19,6 @@ public function __construct(DocumentManager $dm) */ public function __construct(Container $container) { $this->dm = $container->get('doctrine_mongodb.odm.default_document_manager'); } This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,12 +2,23 @@ use Doctrine\ORM\EntityManager; use Doctrine\ODM\MongoDB\Event\LifecycleEventArgs; use Symfony\Component\DependencyInjection\Container; class MongoEventSubscriber { /** * @var EntityManager */ private $_em; /* public function __construct(EntityManager $em) { $this->_em = $em; } */ public function __construct(Container $container) { $this->_em = $container->get('doctrine.orm.default_entity_manager'); } public function postLoad(LifecycleEventArgs $eventArgs) -
webdevilopers revised this gist
Apr 26, 2016 . 1 changed file with 7 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -5,7 +5,7 @@ xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"> <services> <!-- <service id="orm.doctrine.listener" class="Acme\AppBundle\Event\DoctrineEventSubscriber"> <argument type="service" id="doctrine.odm.mongodb.document_manager"/> <tag name="doctrine.event_listener" event="postLoad"/> @@ -15,12 +15,16 @@ <argument type="service" id="doctrine.orm.entity_manager"/> <tag name="doctrine_mongodb.odm.event_listener" event="postLoad"/> </service> --> <service id="customer.listener" class="Acme\AppBundle\Event\BranchListener"> <argument type="service" id="service_container" /> <tag name="doctrine.orm.entity_listener" /> </service> <service id="odm.doctrine.listener" class="Acme\AppBundle\Event\MongoEventSubscriber"> <argument type="service" id="service_container"/> <tag name="doctrine_mongodb.odm.event_listener" event="postLoad"/> </service> </services> </container> -
webdevilopers revised this gist
Apr 26, 2016 . 2 changed files with 10 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -3,18 +3,25 @@ use Doctrine\ODM\MongoDB\DocumentManager; use Doctrine\ORM\Event\LifecycleEventArgs; use Acme\AppBundle\Entity\Customer; use Symfony\Component\DependencyInjection\Container; class CustomerListener { /** * @var DocumentManager */ private $dm; /* public function __construct(DocumentManager $dm) { $this->dm = $dm; } */ public function __construct(Container $container) { $this->container = $container; $this->dm = $container->get('doctrine_mongodb.odm.default_document_manager'); } public function postLoad(Customer $customer, LifecycleEventArgs $eventArgs) { This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -17,7 +17,8 @@ </service> <service id="customer.listener" class="Acme\AppBundle\Event\BranchListener"> <!--<argument type="service" id="doctrine.odm.mongodb.document_manager"/>--> <argument type="service" id="service_container" /> <tag name="doctrine.orm.entity_listener" /> </service> -
webdevilopers revised this gist
Apr 26, 2016 . 2 changed files with 39 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,9 @@ <?php /** * @ORM\Entity() * @ORM\EntityListeners({"Acme\AppBundle\Event\CustomerListener"}) */ class Customer() { } This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,30 @@ <?php use Doctrine\ODM\MongoDB\DocumentManager; use Doctrine\ORM\Event\LifecycleEventArgs; use Acme\AppBundle\Entity\Customer; class CustomerListener { /** * @var DocumentManager */ private $dm; public function __construct(DocumentManager $dm) { $this->dm = $dm; } public function postLoad(Customer $customer, LifecycleEventArgs $eventArgs) { $em = $eventArgs->getEntityManager(); $ordersReflProp = $em->getClassMetadata('AcmeAppBundle:Customer') ->reflClass->getProperty('orders'); $ordersReflProp->setAccessible(true); $ordersReflProp->setValue( $customer, $this->dm->getRepository('AcmeAppBundle:Order') ->findBy(array('customer' => $customer->getId())) ); } } -
webdevilopers revised this gist
Apr 26, 2016 . 1 changed file with 5 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -16,5 +16,10 @@ <tag name="doctrine_mongodb.odm.event_listener" event="postLoad"/> </service> <service id="customer.listener" class="Acme\AppBundle\Event\BranchListener"> <argument type="service" id="doctrine.odm.mongodb.document_manager"/> <tag name="doctrine.orm.entity_listener" /> </service> </services> </container> -
webdevilopers revised this gist
Apr 26, 2016 . 1 changed file with 3 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -8,12 +8,12 @@ <service id="orm.doctrine.listener" class="Acme\AppBundle\Event\DoctrineEventSubscriber"> <argument type="service" id="doctrine.odm.mongodb.document_manager"/> <tag name="doctrine.event_listener" event="postLoad"/> </service> <service id="odm.doctrine.listener" class="Acme\AppBundle\Event\MongoEventSubscriber"> <argument type="service" id="doctrine.orm.entity_manager"/> <tag name="doctrine_mongodb.odm.event_listener" event="postLoad"/> </service> </services> -
webdevilopers revised this gist
Apr 26, 2016 . 1 changed file with 20 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,20 @@ <?xml version="1.0" ?> <container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"> <services> <service id="orm.doctrine.listener" class="Acme\AppBundle\Event\DoctrineEventSubscriber"> <argument type="service" id="doctrine.odm.mongodb.document_manager"/> <tag name="doctrine.event_subscriber" event="postLoad" method="onPostLoad" /> </service> <service id="odm.doctrine.listener" class="Acme\AppBundle\Event\MongoEventSubscriber"> <tag name="doctrine_mongodb.odm.event_subscriber" event="postLoad" method="onPostLoad" /> <argument type="service" id="doctrine.orm.entity_manager"/> </service> </services> </container> -
webdevilopers revised this gist
Apr 25, 2016 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,7 +2,7 @@ class OrderController extends Controller { public function listCustomerOrdersAction() { $em = $this->getDoctrine()->getManager(); $dm = $this->get('doctrine_mongodb.odm.default_document_manager'); -
webdevilopers revised this gist
Apr 25, 2016 . 3 changed files with 44 additions and 7 deletions.There are no files selected for viewing
File renamed without changes.This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,27 @@ <?php use Doctrine\ORM\EntityManager; use Doctrine\ODM\MongoDB\Event\LifecycleEventArgs; class MongoEventSubscriber { public function __construct(EntityManager $em) { $this->em = $em; } public function postLoad(LifecycleEventArgs $eventArgs) { if ($eventArgs->getObject() instanceof Order) { $order = $eventArgs->getDocument(); $dm = $eventArgs->getDocumentManager(); $supplierReflProp = $dm->getClassMetadata('AcmeBundle:Order') ->reflClass->getProperty('supplier'); $supplierReflProp->setAccessible(true); $supplierReflProp->setValue( $order, $this->em->getRepository('AcmeBundle:Supplier') ->find($order->supplier()) ); } } } This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -4,16 +4,26 @@ class OrderController extends Controller { public function listOffersAction() { $em = $this->getDoctrine()->getManager(); $dm = $this->get('doctrine_mongodb.odm.default_document_manager'); $eventManager = $em->getEventManager(); $eventManager->addEventListener( array(\Doctrine\ORM\Events::postLoad), new DoctrineEventSubscriber($dm) ); $eventManager2 = $dm->getEventManager(); $eventManager2->addEventListener( array(\Doctrine\ODM\MongoDB\Events::postLoad), new MongoEventSubscriber($em) ); $customer = $em->find('AcmeBundle:Customer', 969); dump($customer); $orders = $customer->orders(); dump($orders[0]); $supplier = $orders[0]->supplier(); dump($supplier); echo $supplier->fullName(); exit; } -
webdevilopers revised this gist
Apr 25, 2016 . 1 changed file with 11 additions and 9 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -12,14 +12,16 @@ public function __construct(DocumentManager $dm) public function postLoad(LifecycleEventArgs $eventArgs) { if ($eventArgs->getObject() instanceof Customer) { $customer = $eventArgs->getEntity(); $em = $eventArgs->getEntityManager(); $ordersReflProp = $em->getClassMetadata('AcmeBundle:Customer') ->reflClass->getProperty('orders'); $ordersReflProp->setAccessible(true); $ordersReflProp->setValue( $customer, $this->dm->getRepository('AcmeBundle:Order') ->findBy(array('customer' => $customer->getId())) ); } } } -
webdevilopers revised this gist
Apr 25, 2016 . 1 changed file with 3 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -14,10 +14,10 @@ public function postLoad(LifecycleEventArgs $eventArgs) { $customer = $eventArgs->getEntity(); $em = $eventArgs->getEntityManager(); $ordersReflProp = $em->getClassMetadata('AcmeBundle:Customer') ->reflClass->getProperty('orders'); $ordersReflProp->setAccessible(true); $ordersReflProp->setValue( $customer, $this->dm->getRepository('AcmeBundle:Order') ->findBy(array('customer' => $customer->getId())) ); -
webdevilopers created this gist
Apr 25, 2016 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,25 @@ <?php use Doctrine\ODM\MongoDB\DocumentManager; use Doctrine\ORM\Event\LifecycleEventArgs; class MyEventSubscriber { public function __construct(DocumentManager $dm) { $this->dm = $dm; } public function postLoad(LifecycleEventArgs $eventArgs) { $customer = $eventArgs->getEntity(); $em = $eventArgs->getEntityManager(); $productReflProp = $em->getClassMetadata('AcmeBundle:Customer') ->reflClass->getProperty('orders'); $productReflProp->setAccessible(true); $productReflProp->setValue( $customer, $this->dm->getRepository('AcmeBundle:Order') ->findBy(array('customer' => $customer->getId())) ); } } This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,19 @@ <?php class OrderController extends Controller { public function listOffersAction() { $dm = $this->get('doctrine_mongodb.odm.default_document_manager'); $eventManager = $this->getDoctrine() ->getManager()->getEventManager(); $eventManager->addEventListener( array(\Doctrine\ORM\Events::postLoad), new MyEventSubscriber($dm) ); $customer = $this->getDoctrine()->getManager() ->find('AcmeBundle:Customer', 969); dump($customer);exit; } }