Doctrine orm 如何使用可翻译原则获得翻译产品的翻译关联(类别名称)?
我的默认语言环境是pl_pl。当我切换到en_US时,以下代码给出了预期结果:Doctrine orm 如何使用可翻译原则获得翻译产品的翻译关联(类别名称)?,doctrine-orm,doctrine-extensions,stofdoctrineextensions,Doctrine Orm,Doctrine Extensions,Stofdoctrineextensions,我的默认语言环境是pl_pl。当我切换到en_US时,以下代码给出了预期结果: // locale set to en_US $product = $em->getRepository('model\Product')->find(1); $category = $em->getRepository('model\ProductCategory')->find(1); echo $product->getName(); echo $category->getN
// locale set to en_US
$product = $em->getRepository('model\Product')->find(1);
$category = $em->getRepository('model\ProductCategory')->find(1);
echo $product->getName();
echo $category->getName();
// result
beach ball
summer
但当我想按型号\产品关联获取类别时,它不会被翻译:
// locale set to en_US
$product = $em->getRepository('model\Product')->find(1);
echo $product->getName();
echo $product->getCategories()->first()->getName();
// result
beach ball
lato - pl_PL instead of en_US
这是可翻译的扩展错误还是我的代码中有错误
转储:
模型\产品
/**
* @ORM\Table("products")
* @ORM\Entity(repositoryClass="repository\TranslatableRepository")
* @Gedmo\TranslationEntity(class="model\ProductTranslation")
*/
class Product {
/**
* @Gedmo\Translatable
* @ORM\Column(type="string", length=255)
*/
protected $name;
/**
* @ORM\OneToMany(targetEntity="model\ProductCategory", mappedBy="product")
*/
protected $category_list;
}
模型\产品类别
/**
* @ORM\Table("products_categories")
* @Gedmo\TranslationEntity(class="model\ProductCategoryTranslation")
* @ORM\Entity(repositoryClass="repository\TranslatableRepository")
*/
class ProductCategory {
/**
* @Gedmo\Translatable
* @ORM\Column(type="string", length=255)
*/
protected $name;
}
你的问题有什么解决办法吗?
/**
* @ORM\Table("products_categories")
* @Gedmo\TranslationEntity(class="model\ProductCategoryTranslation")
* @ORM\Entity(repositoryClass="repository\TranslatableRepository")
*/
class ProductCategory {
/**
* @Gedmo\Translatable
* @ORM\Column(type="string", length=255)
*/
protected $name;
}