0

2つのエンティティCityOneToManyAnagraficがあり、フィールドAnagraficType cityを使用してフォームを作成します(ハンドピースはjavascriptを使用しているため、非表示の属性を使用します)。

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

何が悪いのかわかりません!

4

2 に答える 2

0

https://stackoverflow.com/a/15043485/2036211

ここでこの問題を解決するには、DataTransformer を使用する必要があります。

于 2013-02-23T17:44:24.490 に答える
0

私があなたのことを正しく理解していれば、あなたのAnagraficTypeフォームから 1 つの都市を選択することができます。はいの場合、要素をレンダリングするエンティティ フィールド タイプを使用する必要があります。<select>

ところで、あなたのマッピングは間違っています:双方向関係の逆側、つまり(所有側が属性を保持する)cascadeで定義する必要があります。CityAnagraphicinversedBy

于 2013-02-19T16:01:16.753 に答える