2012-11-04 171 views
1

我想将我的用户搜索保存在我的网站上。这是为什么我有一个班级用户,我想创建搜索类。 我已经做到了:在Symfony 2上创建关系实体

class Search 
{ 

    public function __construct() 
    { 
     $this->searched_date = new \Datetime(); 
    } 

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


    /** 
    * @ORM\Id 
    * @ORM\ManyToOne(targetEntity="test\UserBundle\Entity\User") 
    */ 
    private $user; 

    /** 
    * @ORM\Column(name="termsearch", type="string", length=255, nullable="true") 
    */ 
    private $termsearch; 

    /** 
    * @ORM\Column(name="goodtitle", type="string", length=255, nullable="true") 
    */ 
    private $goodtitle; 

    /** 
    * @ORM\Column(name="searched_date", type="datetime") 
    */ 
    private $searched_date; 



    /** 
    * Set termsearch 
    * 
    * @param text $termsearch 
    */ 
    public function setTermsearch($termsearch) 
    { 
     $this->termsearch = $termsearch; 
    } 

    /** 
    * Get termsearch 
    * 
    * @return text 
    */ 
    public function getTermsearch() 
    { 
     return $this->termsearch; 
    } 

    /** 
    * Set searched_date 
    * 
    * @param datetime $searchedDate 
    */ 
    public function setSearchedDate($searchedDate) 
    { 
     $this->searched_date = $searchedDate; 
    } 

    /** 
    * Get searched_date 
    * 
    * @return datetime 
    */ 
    public function getSearchedDate() 
    { 
     return $this->searched_date; 
    } 

    /** 
    * Set user 
    * 
    * @param test\UserBundle\Entity\User $user 
    */ 
    public function setUser(\test\UserBundle\Entity\User $user) 
    { 
     $this->user = $user; 
    } 

    /** 
    * Get user 
    * 
    * @return test\UserBundle\Entity\User 
    */ 
    public function getUser() 
    { 
     return $this->user; 
    } 

    /** 
    * Set goodtitle 
    * 
    * @param text $goodtitle 
    */ 
    public function setGoodtitle($goodtitle) 
    { 
     $this->goodtitle = $goodtitle; 
    } 

    /** 
    * Get goodtitle 
    * 
    * @return text 
    */ 
    public function getGoodtitle() 
    { 
     return $this->goodtitle; 
    } 

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

,我想插入这样的:

$em = $this->getDoctrine()->getEntityManager(); 
$user = $em->getRepository('TestUserBundle:User')->find($currentuser->getID());  
$search = new Search(); 
$search->setUser($user); 
$search->setTermsearch($termsearch); 
$search->setGoodtitle($goodtitle); 
$em->persist($search); 
$em->flush(); 

不幸的是我有这样的错误:

SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens (500 Internal Server Error) 

并且堆叠中,我们可以发现, :

INSERT INTO s_search (user_id, termsearch, goodtitle, searched_date) VALUES (?, ?, ?, ?) ({"1":"c2c","2":"C2C Down The Road","3":{"date":"2012-10-31 00:18:47","timezone_type":3,"timezone":"Europe\/Paris"}}) 

我不知道如何创建这个班级搜索... 感谢您的帮助!

+0

出于某种原因,您的代码片段在这里格式不正确。你介意解决这个问题吗?它可以帮助我们弄清楚代码,然后帮助你解决问题。 –

+0

实际上,完成了! – blackarcanis

回答