Doctrine2 PDO Исключение целостности исключения 1048 - Загрузка приборов - YML
У меня есть следующая категория сущности, определенная в YML с двунаправленным отношением "многие ко многим". Когда я пытаюсь загрузить данные в соответствующие базы данных через doctrine:fixtures:load
я получаю ошибку исключения PDO 1048 о нарушении целостности, что поле 'name' не может быть пустым
# src/tuto/JobeetBundle/Resources/config/doctrine/Category.orm.yml
tuto\JobeetBundle\Entity\Category:
type: entity
repositoryClass: tuto\JobeetBundle\Repository\CategoryRepository
table: category
id:
id:
type: integer
generator: { strategy: AUTO }
fields:
name:
type: string
length: 255
unique: true
slug:
type: string
length: 255
unique: true
oneToMany:
jobs:
targetEntity: Job
mappedBy: category
manyToMany:
affiliates:
targetEntity: Affiliate
mappedBy: categories
lifecycleCallbacks:
prePersist: [setSlugValue]
preUpdate: [setSlugValue]
/**
* @var string
*/
private $slug;
public
function setSlug($slug) {
$this - > slug = $slug;
return $this;
}
/**
* Get slug
*
* @return string
*/
public
function getSlug() {
return $this - > slug;
}
/**
* @ORM\PrePersist
* @ORM\PreUpdate
*/
public
function setSlugValue() {
$sl = new Slugify();
$this - > slug = $sl - > slugify($this - > getName());
}
/**
* @ORM\PrePersist
* @ORM\PreUpdate
*/
public
function prePersist() {
$this - > slug = '';
}
1 ответ
Решение
У вас есть опечатка $qualityManager
объект в строке 20:
Вот:
$qualityManager = new Category();
$technician->setName("Quality Manager"); // <-- Wrong object
Попробуй это:
$qualityManager = new Category();
$qualityManager->setName("Quality Manager");
Надеюсь это поможет