有人可以告诉我如何按照Sylius中的属性过滤产品。例如,我有一个属性颜色。我希望得到所有产品都是白色的。
谢谢
答案 0 :(得分:2)
您需要在产品库中定义自定义方法:
git submodule status | grep <submodule_name>
答案 1 :(得分:0)
对于Sylius版本1.x
public function findAttributeByChannel(ChannelInterface $channel, string $locale, int $count, int $attributeId): array
{
return $this->createQueryBuilder('o')
->addSelect('translation')
->innerJoin('o.translations', 'translation', 'WITH', 'translation.locale = :locale')
->innerJoin('o.attributes', 'attribute')
->andWhere('attribute.attribute = :attribute_id')
->andWhere(':channel MEMBER OF o.channels')
->andWhere('o.enabled = true')
->addOrderBy('o.createdAt', 'DESC')
->setParameter('channel', $channel)
->setParameter('locale', $locale)
->setParameter('attribute_id', $attributeId)
->setMaxResults($count)
->getQuery()
->getResult()
;
}