Я пытаюсь создать тип поля сущности в форме. Вот код:
$extraSpecsRepository = $this -> getDoctrine()
-> getRepository('LabsCatalogBundle:Specs');
$availQuery = $extraSpecsRepository->createQueryBuilder('sel')
->where("sel.cat = '0'")
->getQuery();
$available = $availQuery->getResult();
$extraSpecsRepository = $this -> getDoctrine()
-> getRepository('LabsCatalogBundle:ProductExtraspecs');
$selQuery = $extraSpecsRepository->createQueryBuilder('sel')
->join('sel.specs', 'specs')
->where("specs.cat = '0' AND sel.regmatid = $id")
->getQuery();
$selected = $selQuery->getResult();
$form = $this ->createFormBuilder($product)
->add('extraspecs', 'entity', array(
'class' => 'LabsCatalogBundle:Specs',
'choices' => $typeavailable,
'data' => $selected,
'property' => 'specid',
'multiple' => false,
))
->getForm();
А это var_dump
из переменных $selected
и $typeavailable
:
$typeavailable:
array (size=4)
0 =>
array (size=4)
'specid' => int 20
'desc' => string 'Primary Antibodies' (length=18)
'cat' => int 0
'type' => int 1
1 =>
array (size=4)
'specid' => int 21
'desc' => string 'Secondary Antibodies' (length=20)
'cat' => int 0
'type' => int 2
2 =>
array (size=4)
'specid' => int 22
'desc' => string 'Fluorescent-Labeled Antibodies' (length=30)
'cat' => int 0
'type' => int 5
3 => &
array (size=4)
'specid' => int 27
'desc' => string 'Related Antibodies' (length=18)
'cat' => int 0
'type' => int 7
$selected:
array (size=1)
0 => &
array (size=4)
'regmatid' => int 1600
'specid' => int 21
'attrib' => null
'value' => null
Вы видите что-то не так? Потому что он генерирует выпадающий список, но не выбирает «выбранное» значение.
$typeavailable
и$selected
. - person Mats Rietdijk   schedule 12.11.2012ProductExtraspecs
отношение один к одному к объектуSpecs
? Если нет, то какие у них отношения. - person Mats Rietdijk   schedule 12.11.2012$selected->getSpecs();
вернет более 1 объекта? - person Mats Rietdijk   schedule 12.11.2012