Tôi đang cố gắng để truy cập vào thực thể cho một hình thức nhúng được đưa ra trong phụ huynh CollectionType
bên FormBuilder
:dạng Symfony - Truy cập Entity bên trong Loại mục nhập con trong một CollectionType
ParentType
Class ParentType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('children', CollectionType::class, array(
'entry_type' => ChildType::class
);
}
}
ChildType
class ChildType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$child = $builder->getData(); // this returns null
}
public function getDefaultOptions(array $options)
{
return array(
'data_class' => 'Vendor\Bundle\Entity\Child',
);
}
}
Trong khi tác phẩm này s trong một hình thức bình thường, $child
đang được trả về là null. Làm cách nào để truy cập vào thực thể Child
bên trong ChildType
?
Để yêu cầu qu rõ ràng estion, bạn có chắc chắn có bất kỳ Bars nào trong thực thể cha của bạn được sử dụng cho dữ liệu của biểu mẫu không? Bạn có thể kiểm tra bằng cách var_dumping bộ sưu tập thanh của bạn từ dữ liệu trong kiểu biểu mẫu gốc của bạn không? – user1207727
Tuyệt vời, cảm ơn! Điều này làm việc hoàn hảo, và cũng dẫn tôi đến một phần trong các tài liệu tôi bỏ qua: [Làm thế nào để tạo động các hình thức sử dụng các sự kiện mẫu] (http://symfony.com/doc/current/cookbook/form/dynamic_form_generation.html) – Nick
Ah , bạn nhận được bình luận của tôi trước khi tôi xóa nó - tôi lười biếng loại trừ một phần của câu trả lời của bạn với formfactory, cố gắng tiếp tục chỉ với người xây dựng chính nó. Sau đó tôi quyết định sử dụng nguyên văn giải pháp của bạn và nó đã hoạt động. Xin lỗi để gây nhầm lẫn! – Nick