私は2つのエンティティを持っています:
KTH :
namespace Nauka\OneBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
/**
* Nauka\OneBundle\Entity\Kth
*
* @ORM\Table(name="kth")
* @ORM\Entity
*/
class Kth
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string $imie
*
* @ORM\Column(name="imie", type="string", length=30)
*/
private $imie;
/**
* @var string $nazwisko
*
* @ORM\Column(name="nazwisko", type="string", length=30)
*/
private $nazwisko;
/**
*
* @var integer $adres
* @ORM\OneToMany(targetEntity="Adres", mappedBy="kth")
*/
private $adres;
public function __construct() {
$this->adres = new ArrayCollection();
}
public function __toString() {
return $this->nazwisko;
}
======= SET & GET functions =======
ADRES 名前空間 Nauka\OneBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Nauka\OneBundle\Entity\Adres
*
* @ORM\Table()
* @ORM\Entity
*/
class Adres
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string $ulica
*
* @ORM\Column(name="ulica", type="string", length=30)
*/
private $ulica;
/**
* @var string $dom
*
* @ORM\Column(name="dom", type="string", length=5)
*/
private $dom;
/**
*
* @var type
* @ORM\ManyToOne(targetEntity="Kth", inversedBy="adres");
*/
private $kth;
public function __toString() {
return $this->ulica;
}
=======SET & GET functions ===========
Kth フォーム - KthType()
class KthType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('imie')
->add('nazwisko')
->add('adres','collection',array(
'type' => new AdresType(),
'allow_add' => true,
'allow_delete' => true
))
;
}
アドレスフォーム - AdresType()
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('ulica')
->add('dom');
}
コントローラーでのアクション:
public function testAction(Request $request)
{
$adres = new Adres();
$kth = new Kth();
$kth->getAdres()->add($adres);
$formularz = $this->createForm(new KthType(), $kth);
if($request->isMethod('POST'))
{
$formularz->bindRequest($request);
$query = $this->getDoctrine()->getEntityManager();
$query->persist($formularz);
$query->flush();
return new Response('Done');
}
return $this->render("NaukaOneBundle:Main:widok1.html.twig",array(
'formularz' => $formularz->createView()
));
}
そして、Kthフォームを使用してデータベースに何かを追加しようとすると、symfonyがくれます:
The class 'Symfony\Component\Form\Form' was not found in the chain configured namespaces Nauka\OneBundle\Entity
500 Internal Server Error - MappingException
それで、誰かが私が間違っていることを教えてもらえますか?