這是我的第一個問題:SSymfony的改變形式的一種形式呈現多對一場
我使用Symfony2中,我有以下的麻煩
我有一個相關的兩個實體多對一的關係,我想打一個形式的跟隨着實體
/**
* @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 \廠商\教義\ ORM \ lib中\學說\ ORM \ UnitOfWork.php line 1358
似乎ORM讀取PK字符串失敗,任何人都不知道我必須看到什麼來修復它。謝謝建議:)
你需要多一點工作,而不僅僅是從實體生成表單,記住你可以結合FormTypes,一個ProductType可以有一個CategoryType在裏面。檢查symfony文檔,它寫得很好(如果你和我一樣,用法語)。 – mpm 2013-02-16 02:02:12
還要檢查你的getters/setters,以便正確地鍵入它們。 – Ocramius 2013-02-16 02:38:33