LoadUsersElementsFavoritesData.php 1.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace Muzich\UserBundle\DataFixtures\ORM;
  3. use Doctrine\Common\Persistence\ObjectManager;
  4. use Doctrine\Common\DataFixtures\AbstractFixture;
  5. use Doctrine\Common\DataFixtures\OrderedFixtureInterface;
  6. use Symfony\Component\DependencyInjection\ContainerAwareInterface;
  7. use Symfony\Component\DependencyInjection\ContainerInterface;
  8. use Muzich\CoreBundle\Entity\UsersElementsFavorites;
  9. class LoadUsersElementsFavoritesData extends AbstractFixture implements OrderedFixtureInterface, ContainerAwareInterface
  10. {
  11. private $container;
  12. private $entity_manager;
  13. public function setContainer(ContainerInterface $container = null)
  14. {
  15. $this->container = $container;
  16. }
  17. public function getOrder()
  18. {
  19. return 102; // the order in which fixtures will be loaded
  20. }
  21. /**
  22. *
  23. */
  24. protected function createRecord($user, $element)
  25. {
  26. $favorite = new UsersElementsFavorites();
  27. $favorite->setUser($user);
  28. $favorite->setElement($element);
  29. $this->entity_manager->persist($favorite);
  30. //$this->addReference('user_tag_'.$user->getId().'_'.$tag->getId(), $userTag);
  31. }
  32. public function load(ObjectManager $entity_manager)
  33. {
  34. $this->entity_manager = $entity_manager;
  35. // favoris de bux
  36. $bux = $this->entity_manager->merge($this->getReference('user_bux'));
  37. $paul = $this->entity_manager->merge($this->getReference('user_paul'));
  38. $youtube_heretik_1 = $this->getReference('element_youtube_heretik_1');
  39. $youtube_djfab_1 = $this->getReference('element_youtube_djfab_1');
  40. $jamendo_caio_1 = $this->getReference('element_jamendo_caio_1');
  41. $this->createRecord($bux, $youtube_heretik_1);
  42. $this->createRecord($bux, $youtube_djfab_1);
  43. $this->createRecord($paul, $youtube_heretik_1);
  44. $this->createRecord($paul, $jamendo_caio_1);
  45. $this->entity_manager->flush();
  46. }
  47. }