[英]Symfony2, Doctrine, getting data from database to generate excel
[英]Symfony and Doctrine - displaying data from database
我正在嘗試顯示數據庫中的數據。
這是我的路線:
pages:
pattern: /pages/{id}
defaults:
_controller: DprocMainBundle:Index:show
這是該路線的方法:
public function showAction($id)
{
$page = $this->getDoctrine()
->getRepository('DprocMainBundle:Pages')
->find($id);
if (!$page) {
throw $this->createNotFoundException('No product found for id '.$id);
}
return $this->render('DprocMainBundle:Dproc:single.html.twig',array('pages' => $page));
}
print_r($ page)顯示:
Dproc\MainBundle\Entity\Pages Object
(
[Id:protected] => 1
[page_title:protected] => A Foo Bar
[page_content:protected] => Test content for page
[page_category:protected] => 3dsmax
)
在single.html.twig中,我試圖顯示該信息:
{% for page in pages %}
{{ page.page_title }}
{% endfor %}
它什么也沒顯示,我在做什么錯?
find()
方法將僅返回單個結果,而不是數組。 如果確實findBy(array('id'=>$id))
那么您將獲得一個返回一個結果的數組。 另外,您也不能只遍歷模板,因為只有一個結果時就不需要。 只需將變量名更改為page並使用{{ page.page_title }}
您使用了兩個不同的實體。一個在getRepository('DprocMainBundle:Pages')
,另一個在render('DprocMainBundle: Dproc
:single.html.twig',array('pages'=> $ page))中。 您應該在此處放置相同的實體,即DprocMainBundle:Pages
。 希望您能成功。
嘗試不使用for循環。 因為您具有數據庫中的過帳數據,所以可以嘗試以下操作:
{{ pages.page_title }}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.