私は、人々がデータベースに自分のアカウントを作成できるフォームを作成しようとしています。symfony:フォーム(BirthdayType)の作成中にエラーが発生しました。機能が正しく機能しています
フォームは3つのものを要求します: 名字、姓および生年月日(コード中のテキスト)。
私はこれらのエラーを持っ続ける:
プロパティ "startDateTime" やメソッド "addStartDateTime()"/"removeStartDateTime()"、 "setStartDateTime()"、「startDateTime()の1どちらも"、" __set() "または" __call() "が存在し、クラス" AppBundle \ Entity \ Candidats "にパブリックアクセスできます。
これは、作成したエンティティで正しく型を宣言しなかったためですか?
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Candidats
*
* @ORM\Table(name="candidats")
* @ORM\Entity
*/
class Candidats
{
/**
* @var string
*
* @ORM\Column(name="nom", type="string", length=30, nullable=false)
*/
private $nom;
/**
* @var string
*
* @ORM\Column(name="prenom", type="string", length=30, nullable=false)
*/
private $prenom;
/**
* @var \DateTime
*
* @ORM\Column(name="datedenaissance", type="date", nullable=true)
*/
private $datedenaissance;
/**
* @var integer
*
* @ORM\Column(name="idcand", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $idcand;
/**
* Set nom
*
* @param string $nom
*
* @return Candidats
*/
public function setNom($nom)
{
$this->nom = $nom;
return $this;
}
/**
* Get nom
*
* @return string
*/
public function getNom()
{
return $this->nom;
}
/**
* Set prenom
*
* @param string $prenom
*
* @return Candidats
*/
public function setPrenom($prenom)
{
$this->prenom = $prenom;
return $this;
}
/**
* Get prenom
*
* @return string
*/
public function getPrenom()
{
return $this->prenom;
}
/**
* Set datedenaissance
*
* @param \DateTime $datedenaissance
*
* @return Candidats
*/
public function setDatedenaissance($datedenaissance)
{
$this->datedenaissance = $datedenaissance;
return $this;
}
/**
* Get datedenaissance
*
* @return \DateTime
*/
public function getDatedenaissance()
{
return $this->datedenaissance;
}
public function getDateTime()
{
return $this->datedenaissance;
}
public function getStartDateTime()
{
return $this->datedenaissance;
}
public function startDateTime()
{
return $this->datedenaissance;
}
public function isStartDateTime()
{
return $this->datedenaissance;
}
public function hasStartDateTime()
{
return $this->datedenaissance;
}
public function addStartDateTime()
{
return $this->datedenaissance;
}
public function removeStartDateTime()
{
return $this->datedenaissance;
}
public function setStartDateTime()
{
return $this->datedenaissance;
}
/**
* Get idcand
*
* @return integer
*/
public function getIdcand()
{
return $this->idcand;
}
}
と私は修正フォーム作成のコードのsnipet:
<?php
namespace AppBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\BirthdayType;
class CandidatsType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('nom')
->add('prenom')
->add('startDateTime', BirthdayType::class)
;
}
/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'AppBundle\Entity\Candidats'
));
}
}
なぜ同じプロパティを返すように多くのメソッドを使用していますか? ( 'return $ this-> datedenaissance;') –
私はエラーメッセージを "修正"しようとしました。 – Cyberflow