for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/*
* This file has been created by developers from BitBag.
* Feel free to contact us once you face any issues or want to start
* another great project.
* You can find more information about us on https://bitbag.shop and write us
* an email on [email protected].
*/
declare(strict_types=1);
namespace BitBag\SyliusCmsPlugin\Assigner;
use BitBag\SyliusCmsPlugin\Entity\TaxonAwareInterface;
use Sylius\Component\Taxonomy\Repository\TaxonRepositoryInterface;
use Sylius\Component\Core\Model\TaxonInterface;
final class TaxonsAssigner implements TaxonsAssignerInterface
{
/** @var TaxonRepositoryInterface */
private $taxonRepository;
public function __construct(TaxonRepositoryInterface $taxonRepository)
$this->taxonRepository = $taxonRepository;
}
public function assign(TaxonAwareInterface $taxonAware, array $taxonCodes): void
foreach ($taxonCodes as $taxonCode) {
/** @var TaxonInterface $taxon */
$taxon = $this->taxonRepository->findOneBy(['code' => $taxonCode]);
if (null !== $taxon) {
$taxonAware->addTaxon($taxon);