17

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\ Entity\Notes::$products の注釈 "@OneToOne" はインポートされませんでした。この注釈に「use」ステートメントを追加するのを忘れていませんか?

これを修正するのを手伝ってもらえますか?

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 に答える