2015-04-10 3 views
0

Как я могу получить отдельные элементы? Например, $language->LanguageName.Как я могу использовать результаты запроса доктрины в представлении?

Вот мой код контроллера:

class IndexController extends AbstractActionController { 

protected $entityManager; 

public function getEntityManager() 
{ 
    if (null === $this->entityManager) { 
     $this->entityManager = $this->getServiceLocator()->get('Doctrine\ORM\EntityManager'); 
    } 
    return $this->entityManager; 
} 

public function indexAction() { 
    $language = $this->getEntityManager() 
        ->getRepository('\LanguagesModule\Entity\LanguageCommon') 
        ->findAll(); 

    $viewModel = new ViewModel([ 'languages' => $language ]); 
    return $viewModel; 
}} 

А вот мой код посмотреть файл ...

<?php foreach ($this->languages as $language) : ?> 
<tr> 
    <pre><?php print_r($language) ?></pre> 
</tr> 

в результате у меня

LanguagesModule\Entity\LanguageCommon Object 
(
    [LanguageId:protected] => 1 
    [LanguageName:protected] => English 
    [LanguageCode2:protected] => en 
    [LanguageCode3:protected] => eng 
    [LanguageImage:protected] => img_path 
    [LanguageActive:protected] => 1 
) 

LanguagesModule\Entity\LanguageCommon Object 
(
    [LanguageId:protected] => 2 
    [LanguageName:protected] => Other 
    [LanguageCode2:protected] => ot 
    [LanguageCode3:protected] => oth 
    [LanguageImage:protected] => image_path 
    [LanguageActive:protected] => 1 
) 

ответ

1

Вы находитесь возвращая массив сущностей. Итак, обведите объекты и используйте getters вашего объекта, чтобы получить значение для каждого поля. Это должно работать:

<?php foreach ($languages as $language) : ?> 
      <tr> 
       <td><?php echo $language->getLanguageId(); ?></td> 
       <td><?php echo $language->getLanguageName(); ?></td> 
       <td>....</td> 
      </tr> 
<?php endforeach;?> 
+0

Большое спасибо! Что это! –

Смежные вопросы