首页 > 解决方案 > Symfony 3.4 - 无法加载字段值

问题描述

我正在使用带有 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 时,它返回一个空字符串,我不知道出了什么问题:

$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=[]
}

更糟糕的是:上面的代码在 DEV 环境中工作,但在生产环境中不起作用。我知道这听起来显然是一个环境问题,但我不知道在哪里寻找。

有任何想法吗?

**编辑:** 问题是我在 Symfony 的缓存文件夹中有一些文件/文件夹的权限错误,这使得我的部署无法清理它,结果就是奇怪的行为。

标签: phpsymfonydoctrine

解决方案


问题是我在 Symfony 的缓存文件夹上有一些权限错误的文件/文件夹,这使得我的部署无法清理它,结果就是奇怪的行为。


推荐阅读