アンはUser
1持ってPackage
、それに関連します。多くのユーザーが同じパッケージを参照できます。定義User
なしでは存在できませんPackage
。User
関係を所有する必要があります。関係は双方向であるため、にPackage
は0人以上のユーザーがいます。
これらの要件は、につながるManyToOne
ため関係User
とOneToMany
の関係Package
が教義2中package_id
にuser
できます(外部キーであること)テーブルnull
の値を。私は設定しようとしましたnullable=false
が、コマンド:
php app/console doctrine:generate:entities DL --path="src" --no-backup
nullable
関係には属性がないと言うManyToOne
。私には何が欠けていますか?
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;
}
編集:解決しました。これは間違っていることに注意してください(二重引用符に注意してください)。
@ORM\JoinColumn(name="package_id", referencedColumnName="id", nullable="false")
これは正しいですが:
@ORM\JoinColumn(name="package_id", referencedColumnName="id", nullable=false)
package_id
はまだNull-はい、デフォルト-NULLのフラグが付けられています。どんな助けでも大歓迎です。