我下载并安装了 SyliusTaxonomiesBundle,当我想创建一个分类单元(链接到一个分类)时,我遇到了以下问题:
可捕获的致命错误:参数 1 传递给 Sylius\Bundle\TaxonomiesBundle\Doctrine\ORM\TaxonRepository::getTaxonsAsList() 必须实现接口 Sylius\Bundle\TaxonomiesBundle\Model\TaxonomyInterface,给定 null,在 /home/jeremy/web/vendor 中调用/sylius/taxonomies-bundle/Sylius/Bundle/TaxonomiesBundle/Form/Type/TaxonChoiceType.php 在第 70 行并在 /home/jeremy/web/vendor/sylius/taxonomies-bundle/Sylius/Bundle/TaxonomiesBundle/Doctrine/ORM 中定义/TaxonRepository.php 第 25 行
这个级别的问题:https ://github.com/pjedrzejewski/SyliusTaxonomiesBundle/blob/master/Form/Type/TaxonChoiceType.php
/**
* {@inheritdoc}
*/
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$repository = $this->taxonRepository;
$choiceList = function (Options $options) use ($repository) {
$taxons = $repository->getTaxonsAsList($options['taxonomy']);
if (null !== $options['filter']) {
$taxons = array_filter($taxons, $options['filter']);
}
return new ObjectChoiceList($taxons);
};
$resolver
->setDefaults(array(
'choice_list' => $choiceList
))
->setRequired(array(
'taxonomy',
'filter'
))
->setAllowedTypes(array(
'taxonomy' => array('Sylius\Bundle\TaxonomiesBundle\Model\TaxonomyInterface'),
'filter' => array('\Closure', 'null')
))
;
}
和 getTaxonsAsList 方法在这里:https ://github.com/pjedrzejewski/SyliusTaxonomiesBundle/blob/master/Doctrine/ORM/TaxonomyRepository.php
class TaxonRepository extends EntityRepository implements TaxonRepositoryInterface
{
public function getTaxonsAsList(TaxonomyInterface $taxonomy)
{
return $this->getQueryBuilder()
->where('o.taxonomy = :taxonomy')
->andWhere('o.parent IS NOT NULL')
->setParameter('taxonomy', $taxonomy)
->orderBy('o.left')
->getQuery()
->getResult()
;
}
}
你能帮帮我吗,非常感谢