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");
希望对您有所帮助
我在 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 = '';
}
您在第 20 行有错字 $qualityManager
对象:
这里:
$qualityManager = new Category();
$technician->setName("Quality Manager"); // <-- Wrong object
试试这个:
$qualityManager = new Category();
$qualityManager->setName("Quality Manager");
希望对您有所帮助