Исключение из PropertyAccessor Symfony 4 - PullRequest
0 голосов
/ 18 октября 2018

В sonata admin я пытаюсь создать форму сущности «Приложение», в которую входят отдельные сущности.Однако в разделе администратора появляется следующая ошибка:

PropertyAccessor требуется граф объектов или массивов для работы, но он обнаружил тип "NULL" при попытке пройти путь "doctorArmy.ArmyCondition" в свойстве "ArmyCondition ".

Я нашел похожий вопрос здесь , но я не понимаю, что я должен исправить в функции __construct и в какой функции __construct.Должен ли я проверить что-то еще?Я использую Symfony 4.

Применение:

<?php

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity(repositoryClass="App\Repository\DoctorArmyRepository")
 */
class DoctorArmy
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\ManyToOne(targetEntity="App\Entity\DoctorData")
     * @ORM\JoinColumn(nullable=false)
     */
    private $Doctor;

    /**
     * @ORM\OneToOne(targetEntity="App\Entity\Application", cascade={"persist", "remove"})
     * @ORM\JoinColumn(nullable=false)
     */
    private $Application;

    /**
     * @ORM\ManyToOne(targetEntity="App\Entity\ArmyCondition")
     * @ORM\JoinColumn(nullable=false)
     */
    private $ArmyCondition;

    /**
     * @ORM\Column(type="date", nullable=true)
     */
    private $DischargeDate;

    /**
     * @ORM\Column(type="date", nullable=true)
     */
    private $PostponeDate;

    public function getId()
    {
        return $this->id;
    }

    public function getDoctor(): ?doctorData
    {
        return $this->Doctor;
    }

    public function setDoctor(?doctorData $Doctor): self
    {
        $this->Doctor = $Doctor;

        return $this;
    }

    public function getApplication(): ?Application
    {
        return $this->Application;
    }

    public function setApplication(Application $Application): self
    {
        $this->Application = $Application;

        return $this;
    }

    public function getArmyCondition(): ?ArmyCondition
    {
        return $this->ArmyCondition;
    }

    public function setArmyCondition(?ArmyCondition $ArmyCondition): self
    {
        $this->ArmyCondition = $ArmyCondition;

        return $this;
    }

    public function getDischargeDate(): ?\DateTimeInterface
    {
        return $this->DischargeDate;
    }

    public function setDischargeDate(?\DateTimeInterface $DischargeDate): self
    {
        $this->DischargeDate = $DischargeDate;

        return $this;
    }

    public function getPostponeDate(): ?\DateTimeInterface
    {
        return $this->PostponeDate;
    }

    public function setPostponeDate(?\DateTimeInterface $PostponeDate): self
    {
        $this->PostponeDate = $PostponeDate;

        return $this;
    }
}

Состояние армии:

<?php

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity(repositoryClass="App\Repository\DoctorArmyRepository")
 */
class DoctorArmy
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\ManyToOne(targetEntity="App\Entity\DoctorData")
     * @ORM\JoinColumn(nullable=false)
     */
    private $Doctor;

    /**
     * @ORM\OneToOne(targetEntity="App\Entity\Application", cascade={"persist", "remove"})
     * @ORM\JoinColumn(nullable=false)
     */
    private $Application;

    /**
     * @ORM\ManyToOne(targetEntity="App\Entity\ArmyCondition")
     * @ORM\JoinColumn(nullable=false)
     */
    private $ArmyCondition;

    /**
     * @ORM\Column(type="date", nullable=true)
     */
    private $DischargeDate;

    /**
     * @ORM\Column(type="date", nullable=true)
     */
    private $PostponeDate;

    public function getId()
    {
        return $this->id;
    }

    public function getDoctor(): ?doctorData
    {
        return $this->Doctor;
    }

    public function setDoctor(?doctorData $Doctor): self
    {
        $this->Doctor = $Doctor;

        return $this;
    }

    public function getApplication(): ?Application
    {
        return $this->Application;
    }

    public function setApplication(Application $Application): self
    {
        $this->Application = $Application;

        return $this;
    }

    public function getArmyCondition(): ?ArmyCondition
    {
        return $this->ArmyCondition;
    }

    public function setArmyCondition(?ArmyCondition $ArmyCondition): self
    {
        $this->ArmyCondition = $ArmyCondition;

        return $this;
    }

    public function getDischargeDate(): ?\DateTimeInterface
    {
        return $this->DischargeDate;
    }

    public function setDischargeDate(?\DateTimeInterface $DischargeDate): self
    {
        $this->DischargeDate = $DischargeDate;

        return $this;
    }

    public function getPostponeDate(): ?\DateTimeInterface
    {
        return $this->PostponeDate;
    }

    public function setPostponeDate(?\DateTimeInterface $PostponeDate): self
    {
        $this->PostponeDate = $PostponeDate;

        return $this;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...