Я пытаюсь заполнить массив в моем контроллере приложения PHP ZF2 и передать его в представление, выполнив следующие действия:
$brandIds = $this->getConfig()['brandIds'];
$array = array();
$size = count($brandIds);
for ($i = 0; $i < $size; $i++)
{
$brand = $this->getBrandModel()->getBrandById($brandIds[$i]);
$array = array_fill($i,$size, $brand);
}
$signInSession = $this->signInUser->user;
if(empty($signInSession))
{
$this->redirect()->toUrl('/index/landing');
}
$viewModel = new ViewModel();
$viewModel->setVariable("b",$array);
return $viewModel;
Обратите внимание, что:
$this->getConfig()['brandIds']
статический массив, который я предопределил в файле конфигурации, например:
"brandIds" => array(
"AUTO" => 16,
"FINANCE" => 18,
"EVENTS" => 19,
"HEALTH" => 21,
"GADGETS" => 25
),
И в представлении я делаю следующее:
<?php foreach ($brands as $bId){ ?>
<h1> <?=$bId?> </h1>
<?php }?>
Но когда я открываю представление в моем браузере, ничего не появляется. Мой вопрос здесь, или больше проблема в том, что я не понимаю, почему ничего не появляется на мой взгляд. Кроме того, как я могу получить доступ к каждому элементу этого массива, который выбирается из БД. Например, если в таблице в БД есть столбец с именем «id», я бы хотел получить к нему следующий доступ:
<?=$bId['id']?>
И запишите это на мой взгляд (это всего лишь пример, я бы на самом деле не печатал ID из БД)
Может кто-нибудь помочь мне с этим парнями?
Спасибо куча !!
прежде всего имя переменной b
и не bId
как указано в этой строке $viewModel->setVariable("b",$array);
,
Затем, чтобы распечатать указанное значение, вы должны позвонить в вашем представлении $this->b['id'];
Надеюсь, это сработает,
Других решений пока нет …