Использовать утверждение для @OneToOne - Doctrine2

У меня есть таблица с продуктами и другая таблица с 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]

[Семантическая ошибка] Аннотация "@OneToOne" в свойстве EM\MyBundle \ Объект \Notes:: $никогда не импортировался. Возможно, вы забыли добавить "использование" для этой аннотации?

Не могли бы вы помочь мне исправить это?

Ответы

Ответ 1

Я думаю, вы хотели использовать @ORM\OneToOne вместо этого...

/**
 * @ORM\OneToOne(targetEntity="Productss")
 * @ORM\JoinColumn(name="products_id", referencedColumnName="id")
 */
private $products; 
//... 
}