簡體   English   中英

symfony 學說協會

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM