2
"ProductVariant"와 OTM 관계가있는 "Product"엔티티가 있습니다.sonata_type_collection에 쿼리/필터 추가
"isMaster = false"인 ProductVariants 만 표시되는 sonata_type_collection을 생성하고 싶습니다.
sonata_type_collection에서 query_builder를 사용할 수 없습니다. 생성 된 목록을 조작하고 새로운 ProductVariants를 Product 엔터티에 삽입 할 수있는 또 다른 방법이 있습니까?
내 기관 :
/**
* Product
*
* @ORM\Table(name="product")
* @Gedmo\SoftDeleteable(fieldName="deletedAt")
* @ORM\Entity
*/
class Product
{
/**
* @var ArrayCollection $variants
* @ORM\OneToMany(targetEntity="My\Bundle\ProductVariant", mappedBy="product", cascade={"all"}, orphanRemoval=true)
*/
private $variants;
}
/**
* ProductVariant
*
* @ORM\Table(name="productVariant")
* @Gedmo\SoftDeleteable(fieldName="deletedAt")
* @ORM\Entity
*/
class ProductVariant
{
/**
* @var Product
* @ORM\ManyToOne(targetEntity="My\Bundle\Product", inversedBy="variants")
*/
private $product;
}
ProductAdmin :
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('variants', 'sonata_type_collection',
array(
'label' => 'A nice label',
'btn_add' => false, // Because adding won't work with the softdeletable variants
'type_options' => array(
'delete' => true,
)
),
array(
'edit' => 'inline',
'inline' => 'table',
'delete' => 'inline'
)
)
;
}
어떤 특별한 이유는' –
query_builder이 sonata_type_collection에 수 없습니다 query_builder' ? –
당신이 당신의 엔티티 정의를 제공 할 수 –