Перебирать два объекта в одном шаблонеPhp

Кемеровские программисты php общаются здесь
Anonymous
Перебирать два объекта в одном шаблоне

Сообщение Anonymous »

Мне хотелось бы иметь возможность последовательно перебирать два объекта в шаблоне, например: -
Application.php< /p>
return $twig->render('index.twig', ['fixtures' => $fixtures, 'weathers' => $weathers]);

fixtures и Weathers – это массивы, содержащие объекты.
templates/index.twig
{% extends "frame.twig" %}
{% block content %}
{% for fixture in fixtures and weather in weathers %}
{% include 'fixture.twig' with [{fixture: fixture}, {weather: weather}] %}
{% endfor %}
{% endblock %}

Должно быть 4 строки с данными о приборе и погоде вместе. У меня получается 8 строк — 4 со светильниками и 4 с погодой. Итак, двойной цикл, а это не то, что мне нужно?
Изменить
Цель - это что-то вроде:


{{ fixture.homeTeam() }}
{{ fixture.kickoff() }}
{{ fixture.awayTeam() }}

{{ fixture.location().name() }}
{{ weather.getTemperature() }}


Мои данные неудобны при работе с массивами объектов, и я не могу выполнить простое слияние массива

array(4) {
[0]=>
object(\Fixture)#16 (5) {
["id":"\Fixture":private]=>
int(413456)
["awayTeam":"\Fixture":private]=>
string(15) "Birmingham City"
["homeTeam":"\Fixture":private]=>
string(9) "Brentford"
["kickoff":"\Fixture":private]=>
string(5) "15:00"
["location":"\Fixture":private]=>
object(\Location)#17 (3) {
["name":"\Location":private]=>
string(12) "Griffin Park"
["latitude":"\Location":private]=>
float(51.4872912)
["longitude":"\Location":private]=>
float(-0.3036014)
}
}

}
array(4) {
[0]=>
object(\Weather)#22 (8) {
["client":protected]=>
object(\WeatherApiClient)#23 (6) {
["client":protected]=>
object(GuzzleHttp\Client)#24 (1) {
["config":"GuzzleHttp\Client":private]=>
array(8) {



Подробнее здесь: https://stackoverflow.com/questions/750 ... e-template

Вернуться в «Php»