0

我有一个 Symfony 1.4 和 Doctrine 1.2 项目正在运行,并且在我的一个数据库调用中出现输出转义问题。

问题是,我不是在我的 Doctrine 查询中检索 PHP 对象,而是在 PHP 中检索一个数组。我这样做的原因完全是另一个话题,我们只是说获取 PHP 对象不是解决方案。本质上,查询是两个学说模型之间的内部连接。模型 1 与模型 2 的内部连接,产生的结果可以这样访问:

foreach($results as $result)
{
 echo $result['field1']; // accessing results for model 1 
 echo $result['model2']['field1']; // accessing results for model 2 (this inner joins with the model)
}

现在对于上述内容,更具体地说,对于 model2,field1 由 HTML 标记组成,它自然是输出转义的。我需要按原样呈现 HTML 标记!问题出在哪,

如果这是一个规则 Doctrine 对象,一个简单的 $modelObject->getRawValue()->getField(); 将呈现 HTML 标记而不转义它。我不确定如何在 PHP 数组中呈现 HTML 标记?

谢谢

4

1 回答 1

2

(从我之前的评论中复制)。我想知道,如果你print_r($result)在你的循环中,你可能会发现它被包裹在一个逃逸对象中。如果是这样,您应该也可以getRawValue()在其元素上使用吗?

这是有效的,因为转义器对象实现了Iterator接口(因此您可以foreach对其进行处理)以及ArrayAccess(因此它看起来像数组一样工作)。

于 2012-04-11T20:48:58.557 回答