类型“字符串”,“Vendor\NameBundle\Form\EntitynameType”的预期参数,给定Symfony 3.0
2022-08-31 00:36:11
由于我在symfony版本2.7上遇到的问题(安装项目后立即出现404页面错误),我开始使用Symfony版本3.0。在一些小问题之后,我发现“应用程序/控制台”被“bin/console”所取代。所以我现在正在做一个新项目,我已经用1个名为的实体构建了一个新的捆绑包。
Codeit/RestaurantBundle && CodeitRestaurantBundle:Reserveren
格式是注释,实体有一个 id 和 1 个名为“naam”(字符串,255)的字段。我更新了架构,我生成了Codeit的实体,之后成功完成了,我用写入操作生成了一个crud。格式再次被注释,前缀是 /reserveren。
因此,如果我访问网页/储备页面,我会得到我的实体的显示页面。不幸的是,如果我尝试添加新条目,我会收到以下错误:
给出类型“字符串”,“Codeit\RestaurantBundle\Form\ReserverenType”的预期参数
我的捆绑/表格/储备类型.php
<?php
namespace Codeit\RestaurantBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class ReserverenType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('naam')
;
}
/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Codeit\RestaurantBundle\Entity\Reserveren'
));
}
}
我的实体代码
<?php
namespace Codeit\RestaurantBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Reserveren
*
* @ORM\Table(name="reserveren")
* @ORM\Entity(repositoryClass="Codeit\RestaurantBundle\Repository\ReserverenRepository")
*/
class Reserveren
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="Naam", type="string", length=255)
*/
private $naam;
/**
* Get id
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set naam
*
* @param string $naam
*
* @return Reserveren
*/
public function setNaam($naam)
{
$this->naam = $naam;
return $this;
}
/**
* Get naam
*
* @return string
*/
public function getNaam()
{
return $this->naam;
}
}