SQLSTATE [23000]: нарушение ограничения целостности: в symfony

Я делаю проект на 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
        )
)

Можете ли вы показать нам свойство categoryId в вашей организации?

Gregoire Ducharme 11.06.2018 10:55

/ ** * @var int * * @ORM \ Column (name = "category_id", type = "integer") * / private $ categoryId;

Ajzz 11.06.2018 11:02
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
1
2
763
2

Ответы 2

Это довольно просто

$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

Jagjeet Singh 11.06.2018 11:14

Другие вопросы по теме