我编辑了帖子
我设置$ appartement:
$appartement = new Apartement ();
$user=1;
$em = $this->getDoctrine()->getManager();
$appartement = $em->getRepository('LeymaxDashboardBundle:Apartement')->find(1);
嗯,我认为我有一个语法错误,我在控制器中发送s params到twig文件:
return $this->render('LeymaxDashboardBundle:Default:client.html.twig', array('apart' => $appartement,
'user' => $connected_user->getId(),
));
在twig文件中,我执行以下操作:
{{ path('leymax_changemodules_showModal',{'iduser': user,'profil':'client','apart':apart}) }}
生成的路线如下:
leymax_changemodules_showModal:
pattern: /changemodulesModal/{iduser}/{profil}/{apart}
defaults: { _controller: LeymaxDashboardBundle:Default:changeModulesModal }
错误消息:
An exception has been thrown during the rendering of a template ("Warning: preg_match() expects parameter 2 to be string, object given
我在做什么错?
答案 0 :(得分:1)
您可以使用.
语法访问树枝中对象的(公共)属性或方法。
只要此方法的返回值或属性的类型为字符串/整数 - 以下内容将起作用:
{{
path(
'route_name',
{
'parameter': object.property,
'parameter2': object.someMethod
}
)
}}
您可以进一步向对象的类添加_toString()
方法,该方法将返回一个即... ...
class Object {
public function __toString()
{
return $this->id;
}
...然后直接传递对象:
{{
path(
'route_name',
{
'id': object
}
)
}}