symfony2: невозможно вставить в форму слияния один-к-одному

Субъект клиента имеет непосредственное отношение к кредитной организации. Когда я пытаюсь вставить, я получаю следующую ошибку:

*

Объект типа Jobeet \ JobBundle \ Entity \ Credit отсутствует назначенный
Идентификатор поля ‘id’. Стратегия генерации идентификатора для этого объекта
требует, чтобы поле ID было заполнено перед EntityManager # persist ()
называется. Если вы хотите автоматически сгенерированные идентификаторы вместо вас
необходимо соответствующим образом настроить отображение метаданных.

*

Что мне не хватает?

Customer.orm.yml

type: entity
table: customer
id:
id:
type: integer
generator: { strategy: AUTO }
fields:
name:
type: string
length: 255
nullable: true
address:
type: string
length: 255

oneToOne:
credit:
targetEntity: Credit
mappedBy: customer
cascade: [persist]

Credit.orm.yml

type: entity
table: credit
id:
id:
type: integer
generator: { strategy: AUTO }
fields:
customer_id:
type: integer
unique: true
nullable: false
credit_name:
type: string
length: 255
nullable: true
credit_desc:
type: string
length: 255
nullable: true

oneToOne:
customer:
targetEntity: Customer
inversedBy: credit
joinColumn:
name: customer_id
referencedColumnName: id

CustomerType.php

class CustomerType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name')
->add('address')
->add('credit', new CreditType())
;
}
}

0

Решение

Попробуйте изменить Credit.orm.yml в

type: entity
table: credit
id:
id:
type: integer
unique: true
column: other_non_conflict_column_name
...
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]