3

このエラーが発生しています

キー「0」を持つ配列のキー「getPageTitle」は、2 行目の DprocMainBundle:Dproc:single.html.twig に存在しません

2行目 :{{ page.getPageTitle }}

私のエンティティファイル

<?php
namespace Dproc\MainBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @IgnoreAnnotation("fn")
 *
 */
/**
 * @ORM\Entity
 * @ORM\Table(name="pages")
 */
class Pages
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $Id;

    /**
    * @ORM\Column(name="page_title", type="text")
    */
    protected $pageTitle;

    /**
 * @ORM\Column(name="page_content", type="text")
 */
    protected $pageContent;

    /**
    * @ORM\Column(name="page_category", type="text")
    */
    protected $pageCategory;

    /**
     * Get Id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->Id;
    }

    /**
     * Set page_title
     *
     * @param string $pageTitle
     * @return Pages
     */
    public function setPageTitle($pageTitle)
    {
        $this->pageTitle = $pageTitle;

        return $this;
    }

    /**
     * Get page_title
     *
     * @return string 
     */
    public function getPageTitle()
    {
        return $this->pageTitle;
    }

    /**
     * Set page_content
     *
     * @param string $pageContent
     * @return Pages
     */
    public function setPageContent($pageContent)
    {
        $this->pageContent = $pageContent;

        return $this;
    }

    /**
     * Get page_content
     *
     * @return string 
     */
    public function getPageContent()
    {
        return $this->pageContent;
    }

    /**
     * Set page_category
     *
     * @param string $pageCategory
     * @return Pages
     */
    public function setPageCategory($pageCategory)
    {
        $this->pageCategory = $pageCategory;

        return $this;
    }

    /**
     * Get page_category
     *
     * @return string 
     */
    public function getPageCategory()
    {
        return $this->pageCategory;
    }
}

コントローラ

public function IndexAction($slug)
    {
        $page = $this->getDoctrine()
           ->getRepository('DprocMainBundle:Pages')
           ->findByPageTitle($slug);

        if (!$page) {
           throw $this->createNotFoundException('No product found for slug '.$slug);
        }
        //print_r($page);
        return $this->render('DprocMainBundle:Dproc:single.html.twig',array('page' => $page));
    }

私が間違っているのは、getter メソッド getPageTitle をどのように呼び出すべきですか?

ありがとう

4

5 に答える 5

1

結果は配列findByPageTitle($slug)になります。これは、一致するものが 1 つしかない場合でも、すべての一致の配列を返すためです。代わりに実行findOneBy(array('pageTitle'=>$slug))すると、単一の結果が得られます。現在のセットアップで機能する可能性があります{{ page.0.getPageTitle }}

于 2013-10-18T16:06:02.227 に答える
0

ゲッター関数を使用する場合は、次のことを行う必要があります。

{{page.getPageTitle()}}

括弧に注意してください。小枝にゲッター関数を自動的に使用させたい場合は、次のことができます

{{page.pageTitle}}
于 2013-10-18T20:53:16.583 に答える