Я пытаюсь создать форму множественного выбора со многими отношениями, но я продолжаю получать это сообщение об ошибке «Невозможно преобразовать значение для пути свойств« rozmiar »: ожидается массив». Это как моя сущность выглядит следующим образом:от многих до многих форм symfony
/**
* @var ArrayCollection
* @ORM\ManyToMany(targetEntity="Rozmiar")
* @ORM\JoinTable(
* name="buty__rozmiary",
* joinColumns={@ORM\JoinColumn(name="buty_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="rozmiar_id", referencedColumnName="id")}
*)
*/
private $rozmiar;
/**
* Set rozmiar
*
* @param ArrayCollection $rozmiar
* @return rozmiar
*/
public function setRozmiar($rozmiar)
{
$this->rozmiar = $rozmiar;
return $this;
}
/**
* @return ArrayCollection
*/
public function getRozmiar()
{
return $this->rozmiar;
}
public function __construct()
{
$this->rozmiar = new ArrayCollection();
}
И моя форма:
->add('rozmiar', ChoiceType::class, array(
'expanded' => true,
'multiple' => true,
'choices' => [35,36,37,38,39,40]
)
)
Что я должен сделать, чтобы получить эту работу? Заранее спасибо за вашу помощь.
EDIT: Я изменил часть моей ФОРМЫ к
->add('rozmiar', EntityType::class, array(
'class' => 'ShoeShopBundle:Buty',
'expanded' => true,
'multiple' => true,
'choices' => [35,36,37,38,39,40]))
и теперь я получаю «Warning: spl_object_hash() ожидает параметр 1, чтобы быть объектом, число дано» ошибка. Каков правильный способ определения выбора в этом поле?
Вы пытались установить расширенный на false? – DOZ
Вы должны использовать поле 'EntityType' http://symfony.com/doc/current/reference/forms/types/entity.html – malcolm
Итак, когда я использую поле EntityType, например:' -> add ('rozmiar' , EntityType :: class, array ( 'class' => 'ShoeShopBundle: Buty', 'extended' => false, 'multiple' => true, ) ) 'он работает, но как я могу определить список вариантов выбора? Должен ли я определить его в контроллере? Когда я использую '' choice '=> [35,36,37,38,39,40] 'I'm get" Warning: spl_object_hash() ожидает, что параметр 1 будет объектом, целое число задано « –