Я делаю проект на Symfony. Для вставки статьи я установил эти переменные:
$article->setCategoryId($category_id);
$article->setName($name);
$article->setContent($description);
$article->setStatus($publicity);
$article->setCreatedOn(new \DateTime());
$article->setCreatedBy($user->getId());
//print_r($article); die;
$em->persist($article);
$em->flush();
Когда я пытаюсь распечатать объект $article, я прекрасно получаю значение category_id. Но когда я пытаюсь его сохранить, он возвращает ошибку вроде:
"SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'category_id' cannot be null"
Это сеттер в моей сущности:
/**
* Set categoryId
*
* @param integer $categoryId
*
* @return HelpCenterArticle
*/
public function setCategoryId($categoryId)
{
$this->categoryId = $categoryId;
return $this;
}
Это моя сущность при выполнении print_r($article):
lpCenterBundle\Entity\HelpCenterArticle Object
(
[id:HelpCenterBundle\Entity\HelpCenterArticle:private] =>
[name:HelpCenterBundle\Entity\HelpCenterArticle:private] => fbfdb
[slug:HelpCenterBundle\Entity\HelpCenterArticle:private] =>
[content:HelpCenterBundle\Entity\HelpCenterArticle:private] => fbdsbf
[categoryId:HelpCenterBundle\Entity\HelpCenterArticle:private] => 4
[createdOn:HelpCenterBundle\Entity\HelpCenterArticle:private] =>
DateTime Object
(
[date] => 2018-06-11 09:58:32
[timezone_type] => 3
[timezone] => Europe/London
)
)
/ ** * @var int * * @ORM \ Column (name = "category_id", type = "integer") * / private $ categoryId;




Это довольно просто
$article->setCategoryId($category_id);
параметр $ category_id равен нулю или пуст
если вы хотите установить нулевое значение, обновите ORM категория
nullable: true
Объявить обнуляемую в своей сущности
nullable=true
В сущности
/**
* @ORM\Column(name = "category_id", type = "integer", nullable=true)
*/
private $categoryId;
Затем проверьте поле category_id с помощью @Assert
Можете ли вы показать нам свойство categoryId в вашей организации?