我有一个包含Products的表和另一个包含Notes的表。每种产品都可以有或没有一些注释。我只需要注意知道他们所提到的产品,但产品不知道它的注释。我认为这应该是我的代码:
namespace EM\MyBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use EM\MyBundle\Entity\Productss;
/**
* @ORM\Entity
* @ORM\Table(name="notes")
*/
class Notess
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @OneToOne(targetEntity="Productss")
* @JoinColumn(name="products_id", referencedColumnName="id")
**/
private $products;
//...
}
namespace EM\MyBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity
* @ORM\Table(name="domains")
*/
class Domains
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
// ...
}
但是它给出了一个错误:[Doctrine \ Common \ Annotations \ AnnotationException]
[语义错误]属性EM \ MyBundle中的注释“@OneToOne” 实体\ Notes :: $ products从未导入过。你有没有忘记添加“使用 “这个注释的陈述?
你能帮我解决这个问题吗?
答案 0 :(得分:55)
我认为您打算使用@ORM\OneToOne
而不是......
/**
* @ORM\OneToOne(targetEntity="Productss")
* @ORM\JoinColumn(name="products_id", referencedColumnName="id")
*/
private $products;
//...
}