[英]symfony doctrine associations
嗨,所以我設法讓這個工作用於用戶和工作之間的關系
我遵循完全相同的程序,檢查了文檔,我不知所措
我試圖建立的關系是工作
1 個分配有許多工作項的作業
../實體/Job.php
/**
* @ORM\OneToMany(targetEntity="Work",mappedBy="workJob")
*
*/
protected $jobToWork;
/**
* Add jobToWork
*
* @param \Laelaps\InvoiceBundle\Entity\Work $jobToWork
* @return Job
*/
public function addJobToWork(\Laelaps\InvoiceBundle\Entity\Work $jobToWork)
{
$this->jobToWork[] = $jobToWork;
return $this;
}
/**
* Remove jobToWork
*
* @param \Laelaps\InvoiceBundle\Entity\Work $jobToWork
*/
public function removeJobToWork(\Laelaps\InvoiceBundle\Entity\Work $jobToWork)
{
$this->jobToWork->removeElement($jobToWork);
}
/**
* Get jobToWork
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getJobToWork()
{
return $this->jobToWork;
}
../實體/Work.php
/**
* @ORM\ManyToOne(targetEntity="Job",inversedBy="jobToWork")
* @ORM\JoinColumn(name="work_job", referencedColumnName="id")
*/
protected $workJob;
/**
* Set workJob
*
* @param integer $workJob
* @return Work
*/
public function setWorkJob($workJob)
{
$workJob->addJobToWork($this);
$this->workJob = $workJob;
return $this;
}
/**
* Get workJob
*
* @return integer
*/
public function getWorkJob()
{
return $this->workJob;
}
我做了一個應用程序/控制台學說:generate:crud
我知道我的用戶與工作關系的設置方式完全相同。
當我嘗試去創建一個新的“工作”項目時得到的錯誤是 Object of class ..\\Entity\\Job could not be convert to string
任何幫助,一如既往地非常感謝
更新
如答案中所定義
public function __toString()
{
return (string) $this->getJobName();
}
當我使用 FOSUserBundle 並且我的用戶類擴展了 FOSUser 類時,這意味着 __toString() 函數是在 FOSUser 中定義的,因此在為用戶創建關聯時沒有問題。
您可能嘗試將您的 Job 顯示為字符串(例如在選擇框或列表中)。 只需將 __toString() 方法添加到您的 Job 實體,如下所示:
public function __toString()
{
return $this->name; // For example
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.