我正在使用一個樹枝來顯示元素列表。這些元素來自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