1

在我的索引页面上显示了不同的用户。我想要实现的是当有人单击用户名以重定向到显示用户信息的其他页面上时。这是 twig 代码的一部分,它将用户重定向到 hello 路由。

{% for user in users %}
<strong><em><a href="{{ path('hello') }}"> {{ user.username}}</a>

这是你好路线:

hello:
pattern: /hello
defaults: {_controller:AcmeWebBundle:Default:hello }

我不知道如何在控制器中实现这一点。我可以使用为其他功能的用户存储信息的变量,还是我需要进行数据库查询?以及该查询如何针对显示的特定用户?另外是实体的一部分。谢谢。

<?php

namespace Acme\Bundle\WebBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * baza
 *
 * @ORM\Table()
 * @ORM\Entity
 */
class baza
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

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

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

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

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

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

    /**
     * @var string
     *
     * @ORM\Column(name="comment", type="text")
     */
    private $comment;

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

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

    /**
     * @var string
     *
     * @ORM\Column(name="car", type="string", length=20)
     */
    private $car;
4

1 回答 1

2

在你的模板中试试这个:

{% for user in users %}
<strong><em><a href="{{ path('hello', {"id": user.id}</a>

这在你的路由中:

hello:
pattern: /hello/{id}

并且您的控制器将具有以下内容:

public function helloAction(Request $request, $id)

然后在您的控制器中按 id 检索用户。这和其余的都可以在书中推断出来。

希望这可以帮助

于 2013-04-01T04:05:01.813 回答