2013-04-01 2 views
1

내 색인 페이지에 다른 사용자가 표시됩니다. 내가 원하는 것은 사용자가 사용자 정보를 표시하는 다른 페이지로 리디렉션되도록 사용자 이름을 클릭하는 경우입니다. 여기는 사용자를 hello 경로로 리디렉션하는 나뭇 가지 코드의 일부입니다. 나는 contoroler에서이를 구현하는 방법을 몰라데이터베이스에서 특정 사용자 이름에 대한 데이터를 표시하는 방법은 무엇입니까?

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

:

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

는 그리고 이것은 경로 인사입니다. 다른 함수의 사용자 정보를 저장하는 변수를 사용할 수 있습니까? 아니면 db 쿼리를 작성해야합니까? 그리고 표시되는 특정 사용자에 대한 쿼리는 어떻게됩니까? 또한 엔티티의 일부입니다. 감사.

<?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; 

답변

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) 

을 귀하의 컨트롤러가에 의해 사용자를 검색 신분증. 이것과 나머지는 book에서 유추 될 수 있습니다.

희망이 있습니다.

+0

감사합니다. 이 도움이,하지만 여전히 혼란스러워 .. 어떻게 나뭇 가지에서 제어기에 ID를 얻고 그 사용자에 대한 정보를 얻기 위해 데이터베이스에 전달하는 것보다? – C0ld

+0

@ C0ld : 링크는'/ hello' 경로의 매개 변수로 사용자 ID를 포함합니다. hello 액션의 컨트롤러는 위와 같이 매개 변수를 전달합니다. 컨트롤러에서 엔티티 관리자를 호출하여 사용자 엔티티에 대해 '...-> find ($ id)'에 사용합니다. 코드를 명시 적으로 제공하지 않아서 용서하십시오. 전직 교수로서 저를 복사하는 대신 학생들이 배우는 것을 선호합니다. hth – geoB

+0

괜찮아요. @geoB입니다. 어쩌면 내가 처음 대답을 이해하지 못했을 지 모르는 사람 일 수도 있습니다. 도움을 주셔서 감사합니다. – C0ld

관련 문제