本文整理汇总了PHP中Pim\Bundle\CatalogBundle\Repository\ProductRepositoryInterface::findAllForVariantGroup方法的典型用法代码示例。如果您正苦于以下问题:PHP ProductRepositoryInterface::findAllForVariantGroup方法的具体用法?PHP ProductRepositoryInterface::findAllForVariantGroup怎么用?PHP ProductRepositoryInterface::findAllForVariantGroup使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Pim\Bundle\CatalogBundle\Repository\ProductRepositoryInterface
的用法示例。
在下文中一共展示了ProductRepositoryInterface::findAllForVariantGroup方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getMatchingProductsForVariantGroup
/**
* Get matching products for variant group
*
* @param GroupInterface $variantGroup the variant group
*
* @return ProductInterface[]
*/
protected function getMatchingProductsForVariantGroup(GroupInterface $variantGroup)
{
if (!$variantGroup->getId()) {
return [];
}
return $this->repository->findAllForVariantGroup($variantGroup);
}
示例2: process
/**
* {@inheritdoc}
*/
public function process($group)
{
$this->form->setData($group);
if ($this->request->isMethod('POST')) {
// TODO : how to fix this ? Load products when ODM storage is used to enable validation
if (null === $group->getProducts()) {
$products = $this->productRepository->findAllForGroup($group)->toArray();
$group->setProducts($products);
}
$this->form->submit($this->request);
if ($this->form->isValid()) {
$this->onSuccess($group);
return true;
} elseif ($group->getType()->isVariant() && $group->getId()) {
$products = $this->productRepository->findAllForVariantGroup($group);
$group->setProducts($products);
}
}
return false;
}
示例3: getMatchingProducts
/**
* Get matching products
*
* @param GroupInterface $variantGroup the variant group
* @param ProductInterface $entity the product
* @param array $criteria query criterias
*
* @return ProductInterface[]
*/
protected function getMatchingProducts(GroupInterface $variantGroup, ProductInterface $entity = null, array $criteria = [])
{
if (!$variantGroup->getId()) {
return [];
}
$matchingProducts = $this->repository->findAllForVariantGroup($variantGroup, $criteria);
if ($entity) {
$matchingProducts = array_filter($matchingProducts, function ($product) use($entity) {
return $product->getId() !== $entity->getId();
});
}
return $matchingProducts;
}