Невозможно обновить новые поля базы данных в Symfony 2.3

Мне 3 дня от проекта Symfony php. Я не могу сохранить вновь созданные поля базы данных. Мне нужно сохранить строку «квитанция» или «счет-фактура» при каком-то условии, которое я уже обнаружил. Мои коды следующие:

class ReceiptPage
{

....

    /**
     * @var string
     * @ORM\Column(name = "analyzed_invoice_number", type = "string", length=80, nullable=true)
     */
    private $analyzedInvoiceNumber;

сеттеры и геттеры:

    /**
     * @return string
     */
    public function getAnalyzedInvoiceNumber()
    {
        return $this->analyzedInvoiceNumber;
    }

    /**
     * @param string $analyzedInvoiceNumber
     */
    public function setAnalyzedInvoiceNumber($analyzedInvoiceNumber)
    {
        $this->analyzedInvoiceNumber = $analyzedInvoiceNumber;
    }

хотя я принудительно устанавливаю свойство до того, как $em->flush(); оно не сохраняется.

Я сохраняю свойство следующим образом:

$receiptPage->setStatus(ReceiptPage::STATUS_FINISHED); // this is working
$receiptPage->setAnalyzedInvoiceNumber('receipt'); // this is not working
$em->flush();

Есть ли что-нибудь связанное с Доктрина и ОРМ? Если я принудительно устанавливаю значения для существующих свойств, они работают, но новое свойство не сохраняется. столбец БД — анализируемый_номер_счета.

Я много пробовал из некоторых блогов, но потерпел неудачу. Кто-нибудь может помочь? В проекте также используются Редис и Эластичный поиск. ТИА

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
41
1

Ответы 1

Документы Symfony для Symfony2.7 говорят следующее о обновление объекта:

Notice that calling $entityManager->persist($product) isn't necessary. Recall that this method simply tells Doctrine to manage or "watch" the $product object. In this case, since you fetched the $product object from Doctrine, it's already managed.

Хотя это и не требуется, попробуйте решить эту проблему, сначала сохранив этот объект, а затем сбросив его.

Привет @Moritz Fromm спасибо за вашу помощь, я пробовал, но не очень помогло

ani0904071 24.03.2019 12:02

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