簡體   English   中英

Symfony2,無法在樹枝模板中顯示結果數組

[英]Symfony2, unable to display result array in twig template

我是symfony的新手,正在嘗試將結果數組顯示到樹枝模板中。 這是問題。

這是我的實體

<?php

namespace XYZ\FirstBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Shifts
 * @ORM\Entity(repositoryClass="XYZ\FirstBundle\Repository\ShiftRepository")
 * @ORM\Table(name="shifts")
 */
class Shifts
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="date", type="date")
     */
    private $date;

    /**
     * @var string
     *
     * @ORM\Column(name="site_name", type="string", length=255)
     */
    private $site_name;

    /**
     * @var string
     *
     * @ORM\Column(name="location", type="string", length=255)
     */
    private $location;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="start_time", type="time")
     */
    private $startTime;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="end_time", type="time")
     */
    private $endTime;


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

    /**
     * Set date
     *
     * @param \DateTime $date
     * @return Shifts
     */
    public function setDate($date)
    {
        $this->date = $date;

        return $this;
    }

    /**
     * Get date
     *
     * @return \DateTime 
     */
    public function getDate()
    {
        return $this->date;
    }

    /**
     * Set site_name
     *
     * @param string $location
     * @return Shifts
     */
    public function setSitename($site_name)
    {
        $this->site_name = $site_name;

        return $this;
    }

    /**
     * Get site_name
     *
     * @return string 
     */
    public function getSitename()
    {
        return $this->site_name;
    }

    /**
     * Set location
     *
     * @param string $location
     * @return Shifts
     */
    public function setLocation($location)
    {
        $this->location = $location;

        return $this;
    }

    /**
     * Get location
     *
     * @return string 
     */
    public function getLocation()
    {
        return $this->location;
    }

    /**
     * Set startTime
     *
     * @param \DateTime $startTime
     * @return Shifts
     */
    public function setStartTime($startTime)
    {
        $this->startTime = $startTime;

        return $this;
    }

    /**
     * Get startTime
     *
     * @return \DateTime 
     */
    public function getStartTime()
    {
        return $this->startTime;
    }

    /**
     * Set endTime
     *
     * @param \DateTime $endTime
     * @return Shifts
     */
    public function setEndTime($endTime)
    {
        $this->endTime = $endTime;

        return $this;
    }

    /**
     * Get endTime
     *
     * @return \DateTime 
     */
    public function getEndTime()
    {
        return $this->endTime;
    }

    /**
     *
     * @return string String representation of this class
     */
    public function __toString()
    {

        return (string) $this->site_name;
        return (string) $this->location;
        return (string) $this->startTime;
        return (string) $this->endTime;


    }
}

控制者

 public function showShiftAction() 
    {
        $em = $this->getDoctrine()->getManager();
        $shift =array();
        $shift = $em->getRepository('XYZFirstBundle:Shifts')
         ->findAll();

         var_dump($shift);

        return $this->render('XYZFirstBundle:Default:allshifts.html.twig', array(
                'shift' => $shift
            ));
    }

資料庫

<?php

namespace XYZ\FirstBundle\Repository;

use Doctrine\ORM\EntityRepository;

class ShiftRepository extends EntityRepository
{
    public function showAllShifts()
    {
        return $this->getEntityManager()
            ->createQuery (
                'SELECT Shifts FROM XYZFirstBundle:Shifts Shifts'
                )
            ->getResult();
    }
}

現在,當我在模板中使用以下內容時。

{% extends 'base.html.twig' %}

{% block title %}RMS-Roster{% endblock %}


 {% block pageContent %}

    <h2>Create Roster</h2>   
                        <h5>These are all your shifts</h5> <br>
                        {{ shift.date }}
                        {{ shift.site_name }}
                        {{ shift.location }}
                        {{ shift.startTime }}
                        {{ shift.endTime }}

 {% endblock %}

我收到此錯誤-第10行的ATTERACFirstBundle:Default:allshifts.html.twig中不存在帶有鍵“ 0、1、2、3”的數組的鍵“日期”

但是在var_dump()我得到了整個數組。 當我用這個

{% block pageContent %}

    <h2>Create Roster</h2>   
                        <h5>These are all your shifts</h5> <br>
                        {{ shift.0 }}
                        {{ shift.1 }}
                        {{ shift.2 }}
                        {{ shift.3 }}

 {% endblock %}

我得到唯一的site_name結果。

這些都是你的班次
昆士蘭州昆士蘭大學昆士蘭分校昆士蘭分校

我不確定我要去哪里錯了。 期待見識。 提前致謝。 干杯

{% for shiftObject in shift %} {{ shiftObject.example }} {% endfor %}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM