具有条件和参数的 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') }}
它将允许您传递一个参数。
我正在尝试创建具有这样的 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') }}
它将允许您传递一个参数。