HTTP 500 错误发生异常 Symfony/EasyAdmin
HTTP 500 ERROR An exception occurred Symfony/EasyAdmin
执行查询时发生异常:SQLSTATE[23502]:非空违规:7 错误:关系“book”的列“genre_id”中的空值违反非空约束
详细信息:失败行包含 (7, blabla, abababa, 0, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Inte..., 21/07/2007, null, null, null, null)。
写入书籍数据时出现此错误。我试图输入 genre_id,流派的名称,但它不起作用。 ID 是由 Symfony 自动生成的,所以我不明白如何避免这种情况来创建图书数据。
精度:我在书籍实体中建立了流派和书籍之间的多对一关系。
你知道如何避免这个错误吗?
我的书实体文件:
...
/**
* @ORM\Column(type="string", length=255)
*/
private $genre;
/**
* @ORM\Column(type="string", length=255)
*/
private $description;
/**
* @ORM\Column(type="string", length=255)
*/
private $date_de_parution;
/**
* @ORM\ManyToOne(targetEntity=Genre::class, inversedBy="livres")
* @ORM\JoinColumn(nullable=false)
*/
private $Genre;
[![genre table related to books][1]][1]
[1]: https://i.stack.imgur.com/GWQNR.png
您的流派是必需的 (nullable=false
) 外键。所以保存到数据库的时候需要设置一个流派。
如果您希望书籍没有类型,您应该使用 nullable=true
类型参考。请记住,您的 getters/setters 类型也应反映此 null
可行 return。
/**
* @return Genre|null
*/
public function getGenre(): ?Genre // See the questionmark (for php 7+ only)
{
return $this->Genre;
}
[更新 - 错过了 EasyAdmin 部分]
使用管理生成器时,您应该寻找诸如如何管理关系之类的内容。似乎 EasyAdmin 的文档不是那么好。查看 the demo application 似乎有一个 AssociationField
字段类型,可用于引用关系。
执行查询时发生异常:SQLSTATE[23502]:非空违规:7 错误:关系“book”的列“genre_id”中的空值违反非空约束 详细信息:失败行包含 (7, blabla, abababa, 0, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Inte..., 21/07/2007, null, null, null, null)。
写入书籍数据时出现此错误。我试图输入 genre_id,流派的名称,但它不起作用。 ID 是由 Symfony 自动生成的,所以我不明白如何避免这种情况来创建图书数据。
精度:我在书籍实体中建立了流派和书籍之间的多对一关系。
你知道如何避免这个错误吗?
我的书实体文件:
...
/**
* @ORM\Column(type="string", length=255)
*/
private $genre;
/**
* @ORM\Column(type="string", length=255)
*/
private $description;
/**
* @ORM\Column(type="string", length=255)
*/
private $date_de_parution;
/**
* @ORM\ManyToOne(targetEntity=Genre::class, inversedBy="livres")
* @ORM\JoinColumn(nullable=false)
*/
private $Genre;
[![genre table related to books][1]][1]
[1]: https://i.stack.imgur.com/GWQNR.png
您的流派是必需的 (nullable=false
) 外键。所以保存到数据库的时候需要设置一个流派。
如果您希望书籍没有类型,您应该使用 nullable=true
类型参考。请记住,您的 getters/setters 类型也应反映此 null
可行 return。
/**
* @return Genre|null
*/
public function getGenre(): ?Genre // See the questionmark (for php 7+ only)
{
return $this->Genre;
}
[更新 - 错过了 EasyAdmin 部分]
使用管理生成器时,您应该寻找诸如如何管理关系之类的内容。似乎 EasyAdmin 的文档不是那么好。查看 the demo application 似乎有一个 AssociationField
字段类型,可用于引用关系。