具有条件和参数的 Symfony2 实体

Symfony2 Entity with criteria and params

我正在尝试创建具有这样的 oneToMany 关系和标准的实体

  /**
 * Get translatedData
 *
 * @return translatedData collection
 */
public function getTranslatedData($language) {
    $criteria = Criteria::create()->where(Criteria::expr()->eq("language", $language));
    $result = $this->getAllTranslatedData()->matching($criteria)[0];

    if (count($result) == 0){
        $criteria = Criteria::create()->where(Criteria::expr()->eq("language", 'en'));
        $result = $this->getAllTranslatedData()->matching($criteria)[0];
    }
    return $result;
}

基本上我想将语言环境传递给实体,所以它会 return 仅调用 twig 模板中语言环境语言的翻译数据 {{ mainEntity.translatedData.property }}(如果没有该语言的翻译数据,它将回退到 'en') 但是在 mainEntity 上执行 find() 我无法将任何参数传递给此函数。

如有任何想法,我们将不胜感激。

谢谢

无需在您的实体上调用 属性 translatedData.property,您只需直接在 twig 中调用您的方法即可:

{{ mainEntity.getTranslatedData('your_language') }}

它将允许您传递一个参数。