मेरे पास 2 संस्थाएं हैं - उपयोगकर्ता और समूह। उनके पास कई से अधिक रिश्ते हैं और समूह का उपयोग उपयोगकर्ताओं की भूमिकाओं को स्टोर करने के लिए किया जाता है।सिम्फनी 2 एंबेडेड फॉर्म संग्रह कई
मैं एक संग्रह को जोड़कर एक उपयोगकर्ता संपादित करें प्रपत्र बनाने के लिए कोशिश कर रहा हूँ, मैं (क्या पहले से ही डीबी में है तक सीमित) एक ड्रॉप-डाउन से चयन करके एक नई भूमिका को जोड़ने के लिए सक्षम होना चाहते हैं
प्रयोक्ता प्रकार। php:
class UserType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('username')
->add('email')
->add('forename')
->add('surname')
->add('isActive')
->add('joinDate', 'date', array('input' => 'datetime', 'format' => 'dd-MM-yyyy'))
->add('lastActive', 'date', array('input' => 'datetime', 'format' => 'dd-MM-yyyy'))
->add('groups', 'collection', array(
'type' => new GroupType(),
'allow_add' => true,
))
;
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Sfox\CoreBundle\Entity\User'
));
}
}
और GroupType.php:
class GroupType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name')
->add('role');
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
"data_class" => 'Sfox\CoreBundle\Entity\Group'
));
}
}
यह बुनियादी टेक्स्ट बॉक्स के रूप में भूमिका को प्रदर्शित करता है, लेकिन अगर मैं फार्म के लिए एक प्रविष्टि जोड़ने, यह एक नई ईएनटी जारी रहती है झरना समूह में ry और अगर मैं एक प्रविष्टि संपादित करना था, तो यह अंतर्निहित समूह डेटा बदल जाएगा।
मैं एक GroupSelectType.php बनाने की कोशिश की:
class GroupSelectType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('role', 'entity', array('class'=>'SfoxCoreBundle:Group', 'property'=>'name'));
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
"data_class" => 'Sfox\CoreBundle\Entity\Group'
));
}
}
एक "संस्था" प्रकार के रूप में क्षेत्र को जोड़ने, यह सही सलेक्ट बॉक्स प्रदर्शित करता है (लेकिन मूलभूत मूल्यों के साथ) मैं नहीं कर सकते करने के लिए इसे बाध्य करने के लिए लग रहे हैं उपयोगकर्ता टाइप प्रकार!
मैं चाहता हूं कि फॉर्म को उपयोगकर्ता इकाई में अंतर्निहित 'समूह' ArrayCollection को संशोधित करना है।
क्या कोई जानता है कि मैं इसे कैसे प्राप्त कर सकता हूं?
इस जवाब ने मुझे एक टन मदद की! धन्यवाद! – jcbwlkr
बिल्कुल सही धन्यवाद! –
बहुत उपयोगी। धन्यवाद – Rinat