17

我有一张带有产品的表格和另一张带有注释的表格。每个产品可以有或没有一些注释。我只需要注释就知道它们被引用到哪个产品,但产品不知道它的注释。我认为这应该是我的代码:

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\ Entity\Notes::$products 中的注释“@OneToOne”从未导入。您是否可能忘记为此注释添加“使用”语句?

你能帮我解决这个问题吗?

4

1 回答 1

57

我认为你应该使用@ORM\OneToOne...

/**
 * @ORM\OneToOne(targetEntity="Productss")
 * @ORM\JoinColumn(name="products_id", referencedColumnName="id")
 */
private $products; 
//... 
}
于 2012-08-08T07:29:27.670 回答