我一直是LoadAdvert類的ContainerAwareInterface,所以我可以調用並使用EntityManager來檢索數據庫中的用戶。如何使用doctrine fixtures在db中獲取實體?
然而,php執行斌/控制檯教義時:固定裝置:負載,實體管理器只檢索一個空數組,因爲如果有在db沒有用戶。
<?php
// src/OC/PlatformBundle/DataFixtures/ORM/LoadCategory.php
namespace OC\PlatformBundle\DataFixtures\ORM;
use Doctrine\Common\DataFixtures\FixtureInterface;
use Doctrine\Common\Persistence\ObjectManager;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use OC\PlatformBundle\Entity\Advert;
use OC\UserBundle\Entity\User;
class LoadAdvert implements FixtureInterface, ContainerAwareInterface
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
// Dans l'argument de la méthode load, l'objet $manager est l'EntityManager
public function load(ObjectManager $manager)
{
$em = $this->container->get('doctrine.orm.entity_manager');
$author = $em->getRepository('OCUserBundle:User')->findAll();
die(var_dump($author));
你試圖做什麼?你知道教義數據裝置是什麼嗎? – malcolm
我試圖讓所有的用戶,並將它們插入到數據庫之前使用它們來補充我的廣告。 – Cachwir
你的課堂應該延伸'使用Symfony \ Bundle \ FrameworkBundle \ Controller \ Controller;'? – fcpauldiaz