【问题标题】:Is there a way to unserialize an array with twig? [duplicate]有没有办法用树枝反序列化数组? [复制]
【发布时间】:2018-01-25 14:16:15
【问题描述】:

我有一个用 php 序列化的数组,我想在树枝模板中使用它。我尝试了反向过滤器,但它不起作用。

a:3:{i:1;a:2:{s:10:"mensualite";s:4:"1500";s:4:"date";s:10:"01/01/2018";}i:2;a:2:{s:10:"mensualite";s:4:"2500";s:4:"date";s:10:"02/01/2018";}i:3;a:2:{s:10:"mensualite";s:4:"3500";s:4:"date";s:10:"03/01/2018";}}

【问题讨论】:

  • 为什么不直接使用unserialize函数?
  • 树枝中不存在。在控制器中,我正在发送整个实体,因此在发送到树枝视图之前,我无法用 PHP 对其进行反序列化
  • 你来自你的控制器,对吧?!为什么不先在控制器中反序列化,然后将数据传递给您的视图?
  • 您可以编写自定义 Twig 扩展,将扩展注册为服务并反序列化数组...在您可以使用的视图中:{{ dump(array|TwigUnserialize) }} 我想添加代码,但问题已被标记为重复。

标签: php symfony serialization twig


【解决方案1】:

我是在控制器里做的

foreach($entity_partiellement as $ent ){
        if(!empty($ent->getMensualite())){
            $serial = unserialize($ent->getMensualite());
            $ent->setMensualite($serial);
        }
    }

它不是很干净,但它可以工作

【讨论】:

    猜你喜欢
    • 2018-05-27
    • 2019-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-27
    • 1970-01-01
    • 2023-03-11
    • 2020-01-11
    相关资源
    最近更新 更多