0

我是 Symfony2 的新开发人员,所以我很难将我从控制器中获得的对象数组转换为一个数组,其中包含我的树枝中的 JavaScript。

问题是我有一个数组数组:

这是一个例子

 $Flight = array
                (
                '1' => array
                    (
                    '5' => array
                        (
                        'LFID' => '6684',
                        'DepartureDate' => '2012-10-22T12:30:00',
                        'ArrivalDate' => '2012-10-22T14:00:00',
                        'BaseFareAmtInclTax' => '343.50',
                        'ReturnFlightSegmentDetails' =>
                        
                    ),
                    '10' => array
                        (
                        'LFID' => '6684',
                        'DepartureDate' => '2012-10-23T12:30:00',
                        'ArrivalDate' => '2012-10-23T14:00:00',
                        'BaseFareAmtInclTax' => '243.50',
                        'ReturnFlightSegmentDetails' =>
                        array
                            (
                            '150' => array
                                (
                                'LFID' => '6647',
                                'DepartureDate' => '2012-10-24T12:25:00',
                                'FareTypeName' => 'Change',
                                'FareTypeID' => '22',
                                'BaseFareAmtInclTax' => '198',
                            )
                            
                        )
                    )
                ),
            );

在我正在做的树枝上:

{% for flight in flights%}
                   var $FlightSegment = new Array();
                  $flight.push({
                        DepartureDate:"{{flight.DepartureDate}}",
                        ArrivalDate:"{{flight.ArrivalDate}}",
                        Amount:"{{flight.BaseFareAmtInclTax}}",
                        {% for ReturnFlightSegmentDetails in flight.ReturnFlightSegmentDetails %}
                          $FlightSegment.push({
                                ReturnFlightSegmentDetails :"{{ReturnFlightSegmentDetails.DepartureDate}}",   
                           });
                        {% endfor %}
                        
                    });
                
                
                {% endfor %} 

但是“$FlightSegment.push”行会产生一个错误,即

缺失:在属性 ID 之后

4

2 回答 2

1

在 php 中以您想要的格式获取数组然后将其作为 json 回显可能更容易:

{% autoescape false %}
    var jsflights = {{ phpflights|json_encode() }};
{% endautoescape %}

在上面的示例中,我假设变量 $phpflights 是一个 php 数组,格式为您希望传递给视图的格式。上面的代码在视图中,并创建了一个与 php 数组结构相同的 javascript 数组 jsflights。

这样您就不需要编写两次数组代码。

于 2012-10-21T18:28:46.613 回答
0

您的原始模板代码看起来包含 PHP,这在 twig 模板中是不允许的。

更一般地说,模板应该用于呈现数据,并且可能对其进行最少的修改以帮助实现这一点。对于您正在做的事情,看起来您最好在 PHP 的控制器中执行此操作,然后将已经准备好显示的结果传递给 twig。

于 2012-10-21T22:04:29.740 回答