Symfony3 - 使用数据库

时间:2017-05-03 14:56:21

标签: php symfony doctrine-orm twig

我想显示数据库的图像。但我有错误 - “”无法识别的字段:名称“” 我做了一个实体

/**
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;

/**
 * @ORM\Column(type="string", length=100)
 */
private $title;

/**
 * @ORM\Column(type="string")
 */
private $description;

/**
 * @ORM\Column(type="blob", nullable=true)
 */
private $image;

/**
 * @ORM\Column(type="date")
 */
private $dataStart;

/**
 * @ORM\Column(type="date")
 */
private $dataEnd;

这是我的控制者:

/**
 * @Route(
 *      "/promotion",
 *      name = "pizza_promotion"
 * )
 * 
 * @Template
 */
public function promotionAction() {

    $RepoPromotion = $this->getDoctrine()->getRepository('PizzaBundle:Promotion');

    $rowsPromotion = $RepoPromotion->findAll();
    $rowsImage = $RepoPromotion->findBy(array('name' => 'image'));

    if(!empty($rowsImage)) {
        $respons = base64_decode($rowsImage);
    }

    return array(
        'rowsPromotion' => $rowsPromotion,
        'respons' => $respons
    );
}

但是当我想用我的树枝显示图像时

{% for entry in response %}
    <img src="data:image/jpeg;base64,{{ entry.image }}" alt="HTML5 Icon"> zł</li>
{% endfor %}

我有错误 - “无法识别的字段:名称”

帮我解决我的问题。 :)

1 个答案:

答案 0 :(得分:1)

问题在于你的发现:

$rowsImage = $RepoPromotion->findBy(array('name' => 'image'));

根据您可能想要的实体:

$rowsImage = $RepoPromotion->findBy(array('title' => 'image'));

但基本上它是说您的促销仓库没有要搜索的属性name