带有repository_method的Symfony 2 ParamConverter不会返回正确的结果

时间:2017-01-16 23:21:39

标签: symfony

我对ParamConverter选项存在问题" repository_method"

这是一个"标准"请求我的控制器:

public function viewmessageAction($id, Request $request)
    {
        $repository = $this->getDoctrine()->getManager()->getRepository('LAPContactBundle:Contact');
        $message = $repository->findMessage($id);

        if(null === $message) {
            throw new NotFoundHttpException("Le message d'id ".$id." n'existe pas.");
        }
            die(var_dump($message));
    }

结果:

array (size=11)
  'id' => int 1
  'dateContact' => 
    object(DateTime)[756]
      public 'date' => string '2016-12-13 00:00:00.000000' (length=26)
      public 'timezone_type' => int 3
      public 'timezone' => string 'Europe/Paris' (length=12)
  'choix' => string 'Problème sur le site internet' (length=30)
  'nom' => string 'Personne' (length=8)
  'prenom' => string 'Paul' (length=4)
  'email' => string 'paul.personne@gmail.com' (length=23)
  'telephone' => int 607080910
  'texte' => string 'Bonjour, c'est pour faire un message de test en fait je n'existe pas mouahahahah' (length=80)
  'traite' => int 1
  'dateTraite' => 
    object(DateTime)[760]
      public 'date' => string '2016-12-14 00:00:00.000000' (length=26)
      public 'timezone_type' => int 3
      public 'timezone' => string 'Europe/Paris' (length=12)
  'username' => string 'mike' (length=4)

我的最后一个结果是'用户名'。

这里是ParamConverter的控制器:

/**
* @ParamConverter("post", class="LAPContactBundle:Contact", options={"repository_method" = "findMessage"})
*/
public function viewmessageAction($id, Request $request, Contact $message)
{
        die(var_dump($message));
}

结果:

object(LAP\ContactBundle\Entity\Contact)[243]
  private 'id' => int 1
  private 'nom' => string 'Personne' (length=8)
  private 'prenom' => string 'Paul' (length=4)
  private 'email' => string 'paul.personne@gmail.com' (length=23)
  private 'telephone' => int 607080910
  private 'texte' => string 'Bonjour, c'est pour faire un message de test en fait je n'existe pas mouahahahah' (length=80)
  private 'dateContact' => 
    object(DateTime)[212]
      public 'date' => string '2016-12-13 00:00:00.000000' (length=26)
      public 'timezone_type' => int 3
      public 'timezone' => string 'Europe/Paris' (length=12)
  private 'choix' => string 'Problème sur le site internet' (length=30)
  private 'traite' => int 1
  private 'dateTraite' => 
    object(DateTime)[214]
      public 'date' => string '2016-12-14 00:00:00.000000' (length=26)
      public 'timezone_type' => int 3
      public 'timezone' => string 'Europe/Paris' (length=12)
  private 'idTraite' => int 1

此处我没有'用户名'而是我有加入的ID

有人可以帮助我吗?

  

修改

似乎paramconverter返回find()方法而不是自定义方法findMessage()

0 个答案:

没有答案