故障排除
编辑本页故障排除
toString方法
有时候bundle需要显示你的模型对象,为了做到这一点,对象通过使用' __toString ' _ magic方法转换为字符串。注意,在此方法中绝不返回字符串以外的任何内容。例如,如果你的方法是这样的:
1 2 3 4 5 6 7 8 9
/ / src /实体/ Post.php类帖子{公共函数__toString(){返回$这->getTitle ();}}
你不能确定你的对象会总是当bundle想要将其转换为字符串时,使用一个标题。所以为了避免任何致命的错误,当标题缺失时,你必须返回一个空字符串(或任何你喜欢的东西),就像这样:
1 2 3 4 5 6 7 8 9
/ / src /实体/ Post.php类帖子{公共函数__toString(){返回$这->getTitle()吗?”;}}
大过滤器和长url的问题
如果您尝试向单个管理类中添加数百个过滤器,则会遇到一个问题—生成的过滤器表单URL非常长。在大多数情况下,您将得到服务器的响应错误400或错误414 Request-URI太长.根据StackOverflow讨论“安全”的URL长度在2000个字符左右。你可以通过在你的编辑模板中添加一小段JQuery代码来修复这个问题:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
$ (函数(){//添加类'had-value-on-load'的输入/选择值。$ (".sonata-filter-form输入”)阀门(".sonata-filter-form选择“) . each (函数(){如果(美元)(这).val()) {$(这) .addClass (“had-value-on-load”);}});//从过滤表单中删除所有空输入(除了有类'had-value-on-load'的输入)$ (“.sonata-filter-form”)。submit (函数(){$ (".sonata-filter-form输入”)阀门(".sonata-filter-form选择“) . each (函数(){如果(!$ (这).val() && !这) .hasClass (“had-value-on-load”)) {$(这) .remove ()};});});});
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。