Я не могу получить результаты из запроса.
Вот метод контроллера:
public function indexAction()
{
$this->layout()->setVariable('page_title', 'Страницы');
$pages = $this->getServicePage()->getPageList($type = 1);
$viewModel = new ViewModel(['pages' => $pages]);
return $viewModel;
}
Я пользуюсь Сервисом:
public function getPageList($type){
$language = $this->entityManager
->getRepository('\ApanelLanguage\Entity\LanguageCommon')
->findOneBy(['LanguageMain' => 1]);
$pages = $this->entityManager
->getRepository('\ApanelPage\Entity\PageCommon')
->getPagesList($type, $language->getLanguageId());
return $pages;
}
А вот код репортажа:
public function getPagesList($type, $language)
{
$qb = $this->_em->createQueryBuilder()
->select(['u','p'])
->from('ApanelPage\Entity\PageCommon', 'u')
->innerJoin('ApanelPage\Entity\PageData','p', 'WITH', 'u.PageId = p.PageCommonId')
->where('u.PageTypeId = :type')
->andWhere('p.PageLanguageId = :language')
->setParameter('type', $type)
->setParameter('language', $language);
return $qb->getQuery()->getResult();
}
Если я попытаюсь получить результаты в поле зрения
<?php $i=0;
foreach ($this->pages as $page) {
$i++;
echo $id = $page->getPageId();
echo $cid = $page->getPageCommonId();
} ?>
Я получаю ошибку
Неустранимая ошибка: вызов неопределенного метода
ApanelPage \ Entity \ PageCommon :: getPageCommonId () в
/home/xtadmin/localhost/test.zend/www/module/ApanelPage/view/apanel-page/page/index.phtml
на линии 19
Я пробовал разные варианты, но он пытается найти методы в неправильных сущностях.
Постскриптум Если это попробовать это:
echo "<pre>";
var_dump($pages);
echo "</pre>";
Мой Firefox зависает, и я должен убить процесс.
ОБНОВИТЬ
Entity / PageData.php
...
/**
* @var Pagecommon
* @ORM\ManyToOne(targetEntity="ApanelPage\Entity\PageCommon")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="PageCommonId", referencedColumnName="PageId")
* })
*/
protected $PageCommonId;
...
public function getPageCommonId() { return $this->PageCommonId; }
public function setPageCommonId($PageCommonId) { $this->PageCommonId = (int)$PageCommonId;}
...
Вы пишете, что getPageCommonId
метод в вашем PageData
сущность, но ошибка в том, что он пытается найти этот метод внутри вашего PageCommon
юридическое лицо:
Вызов неопределенного метода
ApanelPage\Entity\PageCommon::getPageCommonId()
Я думаю, что у вас есть метод в неправильном месте.
Других решений пока нет …