0

私は2つのテーブルを持っています

  1. ユーザー
  2. メッセージ

そしてテーブルの構造:

ユーザー:

ここに画像の説明を入力

メッセージ:

ここに画像の説明を入力

ここで、 Users テーブルに多数のユーザーがあり、そのメッセージが で識別されるMessages テーブルfk_user_Idに格納されていることがわかります。

これら 2 つのテーブル間に一対多の関係を作成したり、 Doctrine /Annotationsを使用してこの SQL スキーマを作成したりするにはどうすればよいですか?

4

1 に答える 1

1

これは一般的なケースであり、検索すればそのような例を簡単に見つけることができると思います。

この例を参照できます

あなたの2つのエンティティファイルはUser.phpMessage.php次のようになります

/**
 * @ORM\Entity
 * @ORM\Table(name="users")
 */
class User
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * @ORM\Column(type="string")
     */
    protected $username;

    /**
     * @ORM\OneToMany(targetEntity="Message", mappedBy="user")
     */
    protected $messages;
}

メッセージエンティティは次のようになります

    /**
     * @ORM\Entity
     * @ORM\Table(name="messages")
     */
    class Message
    {
        /**
         * @ORM\Id
         * @ORM\Column(type="integer")
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        protected $id;

        /**
         * @ORM\Column(type="string")
         */
        protected $messageDescription;

        /**
         * @ORM\ManyToOne(targetEntity="User", inversedBy="messages")
         * @ORM\JoinColumn(name="fk_user_id", referencedColumnName="id")
         */
        protected $user;
}
于 2013-10-08T07:04:46.287 に答える