У меня есть две Entiny: "Member" и "DepartmentPo".
"Member" содержит поле poId, которое указывает на "DepartmentPo".
namespace App\Entity;
class Member
{
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $poId;
При создании новой "Member" через форму добавляю поле "poId" с типом EntityType, указывающим на "DepartmentPo"
Добавляю поле.
$builder
->add('poId', EntityType::class, array(
'class' => DepartmentPo::class,
'choice_label' => 'title',
'placeholder' => '..не выбрано..',
'empty_data' => null,
'required' => false,
'label' => 'Первичное отделение',
))
В форме список "DepartmentPo" загружается нормально. При сабмите формы в поле "poId" подставляется выбранные объект
Member {#7045 ▼
-id: null
-poId: DepartmentPo {#9884 ▼
-id: 23000009
-moId: 23000
-title: "Абинское №9"
-titleMo: "23000"
}
}
Но при попытке сохранить в базу новую запись "Member", выдается ошибка
Notice: Object of class App\Entity\DepartmentPo could not be converted to int
И сам запрос
'INSERT INTO member (ro_id, mo_id, po_id)
VALUES (?, ?, ?, ?)'
with params [23, 23000, {}, 6]:
И получается, что у меня объект, а должно быть ID объекта.
В связи с эти у меня вопрос, как правильно использовать EntityType, чтобы сохранение работало?