我正在尝试创建一个具有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;
}
基本上我想将语言环境传递给实体,因此它将在twig模板中以语言环境语言返回translatedData,只需调用 {{mainEntity.translatedData.property}}(如果该语言中没有翻译过的数据,则会回退到'en') 但是对mainEntity执行find()我无法将任何param传递给此函数。
任何想法都表示赞赏。
由于
答案 0 :(得分:1)
您可以直接在树枝上调用您的方法,而不是在您的实体上调用属性translatedData.property
:
{{ mainEntity.getTranslatedData('your_language') }}
它允许您传递参数。