2013-02-19 76 views
0

我有兩個實體市一對多Anagrafic, 我就與外地AnagraficType城市形式(使用隱藏的屬性,因爲使用JavaScript機頭)以這樣的方式Symfony2的ManyTo一個關係形式

class Anagrafic 
{ 
/** 
* @ORM\ManyToOne(targetEntity="City", inversedBy="anagrafics", cascade={"persist"}) 
* @ORM\JoinColumn(name="city_id", referencedColumnName="id") 
*/ 
private $city; 
//.. 
//.. 
class City 
{ 
/** 
* @ORM\OneToMany(targetEntity="Anagrafic", mappedBy="city", cascade={"persist"}) 
*/ 
private $anagrafics; 
//... 
//... 
class AnagraficType extends AbstractType 
{ 
public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    $builder->add('comune', 'hidden') 

當我保存表格回給我這個錯誤:

Warning: spl_object_hash() expects parameter 1 to be object, 
string given in /var/www/MyBusiness0_1/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php line 1559 

我不明白什麼是錯的!

+0

這將是* Anagraphic *。 – moonwave99 2013-02-19 16:03:46

回答

0

如果我理解正確,您的AnagraficType表單將讓您選擇一個城市。如果是,則應使用entity Field Type呈現<select>元素。

順便說一句,你mapppings是錯誤的:cascade應該在雙向關係的反側被定義,即City(在擁有側Anagraphic持有inversedBy屬性)。

+0

我使用隱藏的字段,因爲你編輯選擇與JavaScript(Select2) 我試圖從Anagrafic刪除cascade = {「persist」}但總是相同的錯誤。 '/ ** * @ORM \ ManyToOne(targetEntity =「City」,inversedBy =「anagrafics」) * @ORM \ JoinColumn(name =「city_id」,referencedColumnName =「id」) */ private $ city; ' – Lughino 2013-02-19 20:27:14