У меня была сущность доктрины, и я добавил два новых свойства (msoId и contract).Теперь, когда код для сохранения сущности выполняется, 2 новых столбца сохраняются со значением NULL, а не с теми, которые я передаю в set ().Уже существующие столбцы работают нормально.Я должен отметить, что он отлично работает на моем локальном компьютере, но не в средах TEST и STAGE.Я уже восстановил прокси с помощью "doctrine orm: generate-proxies", но проблема продолжается.Похоже на какое-то кеширование, но я не знаю.Пожалуйста помоги.
Объект:
Класс SubscriptionSettlement расширяет объект {
const COMPLETE = 1;
const INCOMPLETE = 0;
/**
* @var int
* @ORM\Column(type="integer", length=11, nullable=false, options={"unsigned"=true})
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var int
* @ORM\Column(name="entitlement_id", type="integer", nullable=false, length=11, options={"unsigned"=true})
*/
private $entitlementId;
/**
* @var int
* @ORM\Column(name="due_date", type="integer", nullable=false, length=11, options={"unsigned"=true})
*/
private $dueDate;
/**
* @var int
* @ORM\Column(name="package_id", type="integer", nullable=false, length=11, options={"unsigned"=true})
*/
private $packageId;
/**
* @var int
* @ORM\Column(name="complete", type="boolean", nullable=false, length=1, options={"unsigned"=true, "default"=0})
*/
private $complete;
/**
* @var int
*
* @ORM\Column(name="mso_id", type="integer", nullable=false, length=11, options={"unsigned"=true})
*/
private $msoId;
/**
* @var string
*
* @ORM\Column(type="string", length=100, nullable=true)
*/
private $contract;
/**
* @return int
*/
public function getEntitlementId(): int
{
return $this->entitlementId;
}
/**
* @param int $entitlementId
*/
public function setEntitlementId(int $entitlementId)
{
$this->entitlementId = $entitlementId;
}
/**
* @return int
*/
public function getDueDate(): int
{
return $this->dueDate;
}
/**
* @param int $dueDate
*/
public function setDueDate(int $dueDate)
{
$this->dueDate = $dueDate;
}
/**
* @return int
*/
public function getPackageId(): int
{
return $this->packageId;
}
/**
* @param int $packageId
*/
public function setPackageId(int $packageId)
{
$this->packageId = $packageId;
}
/**
* @return int
*/
public function getComplete(): int
{
return $this->complete;
}
/**
* @param int $complete
*/
public function setComplete(int $complete)
{
$this->complete = $complete;
}
/**
* @return int
*/
public function getMsoId(): int
{
return $this->msoId;
}
/**
* @param int $msoId
*/
public function setMsoId(int $msoId)
{
$this->msoId = $msoId;
}
/**
* @return string
*/
public function getContract(): string
{
return $this->contract;
}
/**
* @param string $contract
*/
public function setContract(string $contract)
{
$this->contract = $contract;
}
}
Код, который сохраняется в базе данных:
$subscriptionSettlementEntity = new SubscriptionSettlement();
$subscriptionSettlementEntity->setEntitlementId($entitlementId);
$subscriptionSettlementEntity->setDueDate($dueDate);
$subscriptionSettlementEntity->setPackageId($packageId);
$subscriptionSettlementEntity->setComplete($complete);
$subscriptionSettlementEntity->setMsoId($msoId);
$subscriptionSettlementEntity->setContract($contract);
try {
$this->getEntityManager()->persist($subscriptionSettlementEntity);
$this->getEntityManager()->flush();
} catch (UniqueConstraintViolationException $ucve) {
throw new DatabaseException(
"This subscription has already been renewed",
DatabaseException::UNIQUE_INDEX_VIOLATION_CODE
);
}
return $subscriptionSettlementEntity->getId();
}