这是我的第一个问题:S
我正在使用 Symfony2,但遇到以下问题
我有两个在 ManyToOne 关系中相关的实体,我想为以下实体制作一个表单
/**
* @ORM\Entity
* @ORM\Table(name="product")
*/
class Product
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string", length=100)
*/
protected $name;
/**
* @ORM\ManyToOne(targetEntity="Acme\ProductsBundle\Entity\ProductCategory", inversedBy="products")
* @ORM\JoinColumn(name="category_id", referencedColumnName="id")
*/
protected $productCategory;
}
所以我做了以下“ProductType”
class ProductType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name')
->add('productCategory')
;
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Acme\ProductsBundle\Entity\Product'
));
}
public function getName()
{
return 'acme_hellobundle_producttype';
}
}
当我呈现表单时,一切都很好,但现在我想将“productCategory”的小部件更改为文本小部件,因为用户需要编写作为 productCategory 主键的数字。
但是当我这样做并填写表格时,我收到以下错误。
警告:spl_object_hash() 期望参数 1 是对象,字符串在 C:\xampp\htdocs\sym2\Symfony\vendor\doctrine\orm\lib\Doctrine\ORM\UnitOfWork.php 第 1358 行中给出
似乎 ORM 无法读取 PK 字符串,任何人都知道我必须看到什么来修复它。感谢您的建议:)