doctrine2 slugable и datafixtures - PullRequest
       11

doctrine2 slugable и datafixtures

0 голосов
/ 19 сентября 2011

Я пытаюсь сделать поле объекта слагаемым.

Модель выглядит следующим образом:

namespace myBundle\Bundles\BlogBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
use Gedmo\Mapping\Annotation as Gedmo;

/**
 * myBundle\Bundles\BlogBundle\Entity\Category
 *
 * @ORM\Table()
 * @ORM\Entity
 */
class Category
{
    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string $title
     *
     * @Gedmo\Sluggable
     * @ORM\Column(name="title", type="string", length=255)
     */
    private $title;

    /**
     * @Gedmo\Slug(separator="-", updatable=false, unique=true)
     * @ORM\Column(name="slug", type="string", length=255, unique=true)
     */
    private $slug;

    // other properties and methods

Светильники:

namespace myBundle\Bundles\BlogBundle\DataFixtures\ORM;

use Doctrine\Common\DataFixtures\AbstractFixture;
use Doctrine\Common\DataFixtures\OrderedFixtureInterface;
use tooMuch\Bundles\BlogBundle\Entity\Category;

class LoadCategoryData extends AbstractFixture implements OrderedFixtureInterface
{
    public function load($manager)
    {
        $this->generateCategory($manager);
    }

    public function generateCategory($manager)
    {
        for ($i=0; $i < 10; $i++) { 
            $category = new Category();
            $category->setTitle('Category '.$i);
            $manager->persist($category);
            $manager->flush();

            $this->addReference('category'.$i, $category);
            unset($category);
        }
    }

схема создания:

# sf doctrine:schema:create
ATTENTION: This operation should not be executed in a production environment.

Creating database schema...
Database schema created successfully!

но потом, когда я пытаюсь добавить приборы:

# sf doctrine:fixtures:load
  > purging database
  > loading myBundle\Bundles\BlogBundle\DataFixtures\ORM\LoadCategoryData



  [PDOException]                                                                      
  SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'slug' cannot be null  



doctrine:fixtures:load [--fixtures[="..."]] [--append] [--em="…"]

# 

есть идеи?

1 Ответ

1 голос
/ 19 сентября 2011

Проблема не в приборах, а в самом поколении слизней. Если он настроен правильно, вы никогда не должны иметь $slug как null

Вы уверены, что у вас подключен слушатель Sluggable?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...