我知道這是一個經常性的問題,而是創造200個實體和運行之間的OneToOne關係後的PHP應用程序/控制檯學說:架構:驗證「我得到這個錯誤:學說OneToOne我逼瘋了
'[Mapping] FAIL - The entity-class 'HO\CisBundle\Entity\AffiliateSalesAccounts' mapping is invalid:
* The association HO\CisBundle\Entity\AffiliateSalesAccounts#affiliate refers to the inverse side field HO\HasoffersBundle\Entity\Affiliate#affiliateSalesAccounts which does not exist.'
這與兩個實體的部分代碼:
AffiliatesSalesAccount實體
namespace HO\CisBundle\Entity;
use HO\HasoffersBundle\Entity\Affiliate;
use Doctrine\ORM\Mapping as ORM;
/**
*
* @ORM\Table(name="AffiliateSalesAccounts")
* @ORM\Entity()
* @ORM\HasLifecycleCallbacks
*/
class AffiliateSalesAccounts {
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*
*/
private $id;
/**
* @var \HO\HasoffersBundle\Entity\Affiliate
*
* @ORM\OneToOne(targetEntity="HO\HasoffersBundle\Entity\Affiliate", inversedBy="affiliateSalesAccounts")
* @ORM\JoinColumn(name="affiliate_id", referencedColumnName="id")
*
*/
private $affiliate;
...
/**
* @param Affiliate $affiliate
*/
public function setAffiliate(Affiliate $affiliate)
{
$this->affiliate = $affiliate;
}
/**
* @return Affiliate
*/
public function getAffiliate()
{
return $this->affiliate;
}
}
加盟實體
namespace HO\HasoffersBundle\Entity;
use HO\CisBundle\Entity\AffiliateSalesAccounts;
use Doctrine\ORM\Mapping as ORM;
/**
*
* @ORM\Table(name="ho_Affiliate")
*/
class Affiliate
{
/**
* @var AffiliateSalesAccounts
*
* @ORM\OneToOne(targetEntity="HO\CisBundle\Entity\AffiliateSalesAccounts", mappedBy="affiliate")
*/
private $affiliateSalesAccounts;
....
/**
* @param \HO\CisBundle\Entity\AffiliateSalesAccounts $affiliateSalesAccounts
*/
public function setAffiliateSalesAccounts($affiliateSalesAccounts)
{
$this->affiliateSalesAccounts = $affiliateSalesAccounts;
}
/**
* @return \HO\CisBundle\Entity\AffiliateSalesAccounts
*/
public function getAffiliateSalesAccounts()
{
return $this->affiliateSalesAccounts;
}
}
我有兩個實體之間的其他類似的OneToOne關係,它的偉大工程。我
有人能幫助我嗎?
非常感謝..
試着改變你的'targetEntity'屬性'targetEntity = 「\ HO \ HasoffersBundle \實體\加盟」'和'targetEntity = 「\ HO \ HasoffersBundle \實體\ AffiliateSalesAccounts」' , 分別。請注意前面的反斜槓以確保命名空間是正確的。 – sjagr
@sjagr,它不起作用,所有對實體的引用都可以正常工作,而不需要這個斜槓 – Averias
考慮將* @ORM \ Entity()添加到您的聯盟實體。 – Cerad