An Usercó một Packageliên kết với nó. Nhiều người dùng có thể tham khảo cùng một gói. Userkhông thể tồn tại mà không có một Packageđịnh nghĩa. Usernên sở hữu quan hệ. Mối quan hệ là hai chiều, do đó, một Packagekhông có hoặc nhiều người dùng trong đó.
Những yêu cầu này dẫn đến ManyToOnequan hệ for Uservà OneToManyquan hệ của Packagetrong Doctrine 2. Tuy nhiên, package_idtrong userbảng (đó là khóa ngoại) cho phép nullcác giá trị. Tôi đã thử cài đặt nullable=falsenhưng lệnh:
 php app/console doctrine:generate:entities DL --path="src" --no-backupNói rằng không có thuộc tính nullablecho mối quan hệ ManyToOne. Tôi đang thiếu cái gì?
class User
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;
    /**
     * @ORM\ManyToOne(targetEntity="Package", inversedBy="users")
     */
    private $package;
}
class Package
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;
    /**
     * @ORM\OneToMany(targetEntity="User", mappedBy="package")
     */
    private $users;
}EDIT : đã giải quyết. xin lưu ý rằng điều này là sai (lưu ý dấu ngoặc kép):
 @ORM\JoinColumn(name="package_id", referencedColumnName="id", nullable="false")Mặc dù điều này là chính xác:
@ORM\JoinColumn(name="package_id", referencedColumnName="id", nullable=false)
package_idvẫn bị gắn cờ là Null - Có, Mặc định - NULL. Bất kỳ sự giúp đỡ nào cũng được đánh giá cao.