Скачан Symfony и DataFixtureBundle (http://symfony.com/doc/current/bundles/DoctrineFixturesBundle/index.html)Symfony DataFixtures Wierd поведение при обращении другой записи
Моя дб структура:
В общем:
book
будет иметь много заголовков, и у каждого headline
много отзывов. Это очень простая односторонняя связь.
В db указатель, FK настроены.
Затем я пишу 4 арматуре файлы:
<?php
namespace tr\rsywxBundle\DataFixtures\ORM;
use \Doctrine\Common\DataFixtures\AbstractFixture;
use \Doctrine\Common\DataFixtures\OrderedFixtureInterface;
use \Doctrine\Common\Persistence\ObjectManager;
use \tr\rsywxBundle\Entity\BookPlace as BookPlace;
class LoadPlaceData extends AbstractFixture implements OrderedFixtureInterface
{
/**
*
* {@inheritDoc}
*/
public function load(ObjectManager $manager)
{
//Create a common place
$place1=new BookPlace();
$place1->setName('Common');
$this->addReference('commonPlace', $place1);
//Create a special place
$place2=new BookPlace();
$place2->setName('Special');
$this->addReference('specialPlace', $place2);
$manager->persist($place1);
$manager->persist($place2);
$manager->flush();
}
/**
*
* {@inheritDoc}
*/
public function getOrder()
{
return 2;
}
}
Все остальные 3 похожи. 1 - это груз publisher
, 2 для place
, 3 для book
, 4 для headline
.
При попытке загрузить datafixtures, он всегда говорит:
Однако, если я не положил ничего в headline
нагрузки() функцию, она отлично работает. Это означает, что book
получает ссылку от publiser
и place
. Ошибка также показывает, что getReference
в файле инвентаря LoadBook не работает.
Этот комплект не поддерживает такое каскадное отношение «один-много»?
В LoadHeadLine.php есть ошибка уведомления, можете ли вы показать его plz? – VBee
@VBee Я не заметил ошибку уведомления? – TaylorR