Symfony 4-Javascript无法访问用户文件属性

时间:2019-09-16 13:04:02

标签: javascript file symfony

在我的symfony 4项目中,我的用户使用文件形式的“ feuilleConge ”,可以使用VichUploaderBundle从其配置文件中上传。

/**
 * @ORM\OneToOne(targetEntity="App\Entity\FeuilleConge", inversedBy="user", cascade={"persist", "remove"})
 */
private $feuilleConge;

还有feuilleConge实体

/**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;

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

    /**
     * @Vich\UploadableField(mapping="feuillesConge", fileNameProperty="feuilleCongeName")
     * @var File
     */
    private $feuilleCongeFile;

    /**
     * @ORM\Column(type="datetime", nullable=true)
     * @var \DateTime
     */
    private $updatedAt;

    /**
     * @ORM\OneToOne(targetEntity="App\Entity\User", mappedBy="feuilleConge", cascade={"persist", "remove"})
     */
    private $user;

//...

在个人资料页面中,我显示一个表单,其中包含“ feuilleConge ”的“文件”字段。

除了在此页面上之外,我使用Javascript,以便在文件字段默认情况下使用用户已经上传的文件名。

所以我必须做一个条件,检查用户确实有 feuilleConge 工作表,在这种情况下,我将应用javascript。

    if ({{ user.feuilleConge }}) {
        var feuilleConge = document.querySelector('[for = "profile_feuilleConge_feuilleCongeFile_file"]');
        feuilleCongeName.innerHTML = {{ user.feuilleConge.feuilleCongeName }};

    }

但是起初,即使我失败了,他也不想访问我的 {{user.feuilleConge}}

var feuille = {{user.feuilleConge}}
if(feuille)
{
  ...
}

相反,我立即出现错误:

  

无法访问null上的属性(“ feuilleCongeName”)   变量。

但是,仅当 user.feuilleConge 与null不同时,我才要求他访问 feuilleCongeName

并且当我的用户拥有 feuilleConge 时,效果很好

0 个答案:

没有答案