Symfony 3.4 - 无法加载字段值
Symfony 3.4 - cannot load field value
我正在使用带 MySQL 8 的 Symfony 3.4.47,直到今天,获取字段值并不是一件大事。
我创建了一个迁移文件以向现有实体添加新字段:
$this->addSql('ALTER TABLE plano ADD cliente_apelido VARCHAR(40) NOT NULL');
并且我已将字段 'cliente_apelido'、getter 和 setter 添加到 'Plano.php' 模型:
/**
* @var string
*
* @ORM\Column(name="cliente_apelido", type="string", length=40, nullable=false)
*/
private $clienteapelido;
/**
* @param string $clienteapelido
*/
public function setClienteapelido(string $clienteapelido): void
{
$this->clienteapelido = $clienteapelido;
}
/**
* Get clienteapelido.
*
* @return string
*/
public function getClienteapelido()
{
return $this->clienteapelido;
}
事实证明,当我尝试使用 getClienteapelido() getter 时,它 returns 是一个空字符串,我不知道出了什么问题:
$plano = $this->doctrine->getRepository('PlanoBundle:Plano')->find(99); // 99 is just an example of a valid row of 'plano' entity
if ($plano) {
$this->logger->critical("Found 'plano' id=" . $plano->getCodplano());
// This prints to the log file:
// [2021-09-13 09:36:31] app.CRITICAL: Found 'plano' id=99
$this->logger->critical("apelido=[" . $plano->getClienteapelido() . "]");
// This prints to the log file:
// [2021-09-13 09:36:31] app.CRITICAL: apelido=[]
}
更糟糕的是:上面的代码在开发环境中工作,但在生产环境中不工作。
我知道这听起来很明显是环境问题,但我不知道去哪里找。
有什么想法吗?
**编辑:** 问题是我有一些 files/folders 对 Symfony 的缓存文件夹有错误的权限,这使得我的部署无法清理它,结果是奇怪的行为。
问题是我有一些 files/folders 对 Symfony 的缓存文件夹有错误的权限,这使得我的部署无法清理它,结果是奇怪的行为。
我正在使用带 MySQL 8 的 Symfony 3.4.47,直到今天,获取字段值并不是一件大事。
我创建了一个迁移文件以向现有实体添加新字段:
$this->addSql('ALTER TABLE plano ADD cliente_apelido VARCHAR(40) NOT NULL');
并且我已将字段 'cliente_apelido'、getter 和 setter 添加到 'Plano.php' 模型:
/**
* @var string
*
* @ORM\Column(name="cliente_apelido", type="string", length=40, nullable=false)
*/
private $clienteapelido;
/**
* @param string $clienteapelido
*/
public function setClienteapelido(string $clienteapelido): void
{
$this->clienteapelido = $clienteapelido;
}
/**
* Get clienteapelido.
*
* @return string
*/
public function getClienteapelido()
{
return $this->clienteapelido;
}
事实证明,当我尝试使用 getClienteapelido() getter 时,它 returns 是一个空字符串,我不知道出了什么问题:
$plano = $this->doctrine->getRepository('PlanoBundle:Plano')->find(99); // 99 is just an example of a valid row of 'plano' entity
if ($plano) {
$this->logger->critical("Found 'plano' id=" . $plano->getCodplano());
// This prints to the log file:
// [2021-09-13 09:36:31] app.CRITICAL: Found 'plano' id=99
$this->logger->critical("apelido=[" . $plano->getClienteapelido() . "]");
// This prints to the log file:
// [2021-09-13 09:36:31] app.CRITICAL: apelido=[]
}
更糟糕的是:上面的代码在开发环境中工作,但在生产环境中不工作。 我知道这听起来很明显是环境问题,但我不知道去哪里找。
有什么想法吗?
**编辑:** 问题是我有一些 files/folders 对 Symfony 的缓存文件夹有错误的权限,这使得我的部署无法清理它,结果是奇怪的行为。
问题是我有一些 files/folders 对 Symfony 的缓存文件夹有错误的权限,这使得我的部署无法清理它,结果是奇怪的行为。