我正在使用一个树枝来显示元素列表。这些元素来自API的解码json数组。选择一个未实体实体
我有我的用户和这些元素之间的OneToMany关系。
用户需要选择其中一个元素,这些元素将通过addElement()函数添加到用户中。
我试图在循环中使用Symfony2窗体,但它只显示在第一个元素上。我也尝试使用链接到控制器的功能,但因为没有这些元素在我的DB是坚持,我得到这个错误:
"Unable to guess how to get a Doctrine instance from the request information."
下面是如何显示我的元素:
{% block itinerary %}
{% for element in elements %}
<aside class="flights-results__by-price col-md-3">
<span class="flights-results__price">{{ element.price ? element.price : 'Unknown' }}</span>
<a href="{{ path('selectLeg', {'element': element}) }}">Delete</a>
</aside>
{% endfor %}
{% endblock itinerary %}
这里是我创建并填写我的元素的功能:
public function getAvailabilities($availabilities, $planes, $airports)
{
$reservations = array();
foreach ($availabilities as $ar)
{
$leg = new Leg();
$leg->getId();
foreach($ar as $a)
{
$leg = $this->fillLeg($leg, $a);
foreach($a->availabilities as $aleg)
{
$leg->setAirplaneType($this->findPlane($planes, $aleg->airplane_type_id));
$leg->setAirportStart($this->findAirport($airports, $a->lfi_from));
$leg->setAirportEnd($this->findAirport($airports, $a->lfi_to));
$leg->setDurationLeg($aleg->duration);
$leg->setEndHour($aleg->datetime_to);
}
$startdate = $a->datetime;
}
$reservations[] = $leg;
}
return $reservations;
}
这里是结果,当我转储($元素):
FlightController.php on line 55:
array:4 [▼
0 => {#953 ▼
+"3e1f975601f59090decc8f2d5ced72010162e48e": {#954 ▼
+"lfi_from": "FR58957"
+"lfi_to": "FR45300"
+"datetime": "2015-09-10 20:00:00"
+"nb_pax": "4"
+"availabilities": array:1 [▼
0 => {#955 ▶}
]
}
}
1 => {#956 ▼
+"3e1f975601f59090decc8f2d5ced72010162e48e": {#957 ▼
+"lfi_from": "FR45300"
+"lfi_to": "AG00060"
+"datetime": "2015-09-10 23:00:00"
+"nb_pax": "4"
+"availabilities": array:1 [▼
0 => {#958 ▶}
]
}
}
2 => {#959 ▼
+"3e1f975601f59090decc8f2d5ced72010162e48e": {#960 ▼
+"lfi_from": "FR45300"
+"lfi_to": "AG00060"
+"datetime": "2015-11-30 23:00:00"
+"nb_pax": "4"
+"availabilities": array:1 [▼
0 => {#961 ▶}
]
}
}
3 => {#962 ▼
+"3e1f975601f59090decc8f2d5ced72010162e48e": {#963 ▼
+"lfi_from": "FR45300"
+"lfi_to": "OLOLOL"
+"datetime": "2015-09-18 23:00:00"
+"nb_pax": "2"
+"availabilities": array:1 [▼
0 => {#964 ▶}
]
}
}
]
主要问题是API会返回几千条结果。出于显而易见的原因,我无法坚持所有。
我想问的最简单的方法是“什么是最好的方式发送一个实体上的数据到另一个功能在我的控制器,没有坚持这个实体?”。到目前为止,我一直使用持久化元素,用id作为标识符,但是当我们处理非持久化实体时,我意识到它变得更加棘手。
你可以分享一些代码,以便我们可以看到你想要实现的目标吗? – tchap
完成后,我添加了for循环,以及我之前尝试的链接。 –
...但我们仍然错过了有用的代码:你在哪里创建你的JSON?元素的价值是什么?你的实体是什么?另外,你的Twig模板中的'l'不会引用任何内容;循环变量似乎是'元素'... – tchap