У меня проблема с моей формой, и проблема с моей сущностью. У меня ошибка:
Could not convert database value "" to Doctrine Type array
а проблема с полем $card.
public function addNewUser ($id, $firstName, $lastName)
{
$termUsers = $this->getUserRepository()
->createQueryBuilder('nu')
->select('nu')
->where('nu.id = :id')
->setParameter('id', $id)
->setMaxResults(1)
->getQuery()
->getOneOrNullResult();
if (empty($termUsers)) {
$termUsers = new User();
$termUsers->setId($id);
$termUsers->setFirstName($firstName);
$termUsers->setLastName($lastName);
$this->em->persist($termUsers);
$this->em->flush();
}
return $termUsers;
}
public function getUserAddAction()
{
$this->requirePostParams(['id', 'firstName', 'lastName']);
$this->get('lottoland.user')->addNewUser(
$this->data['id'],
$this->data['firstName'],
$this->data['lastName']
);
return $this->success();
}
Когда я отправляю сообщения через почтальона, я получил указанную мной ошибку.






Если вы хотите иметь отношение oneToMany между Card и User, тогда:
# Entity/Card.php
/**
* @ORM\OneToMany(targetEntity = "User", mappedBy = "card")
*/
private $users;
public function __construct()
{
$this->users = new ArrayCollection();
}
# Entity/User.php
/**
* @ORM\ManyToOne(targetEntity = "Card", inversedBy = "users")
* @ORM\JoinColumn(name = "card_id", referencedColumnName = "id", nullable=false)
*/
private $card;
Что касается новичков, более удобный способ создать такие отношения, просто объявите отношение, как я сделал выше, а затем, чтобы сгенерировать геттеры и сеттеры, используйте удобную консольную команду symfony:
php bin/console doctrine:generate:entities AppBundle:Card
php bin/console doctrine:generate:entities AppBundle:User
и это сгенерирует для вас все необходимые методы.
Я знаю об этом, у меня проблема с этой ошибкой. --- Не удалось преобразовать значение базы данных "" в массив типа доктрины ---
код, который вы здесь показываете, не имеет отношения к вашей проблеме. Пожалуйста, вставьте сюда соответствующий код