2012-11-04 172 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

回答