Doctrine2 PDO 异常完整性违规 1048 - 夹具加载 - YML

Doctrine2 PDO Exception Integrity violation 1048 - Fixtures loading - 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 = '';
}
能否找到夹具 here

您在第 20 行有错字 $qualityManager 对象:

这里:

$qualityManager = new Category();
$technician->setName("Quality Manager");  // <-- Wrong object

试试这个:

$qualityManager = new Category();
$qualityManager->setName("Quality Manager");

希望对您有所帮助