私は2つのテーブルを持っています
- ユーザー
- メッセージ
そしてテーブルの構造:
ユーザー:
メッセージ:
ここで、 Users テーブルに多数のユーザーがあり、そのメッセージが で識別されるMessages テーブルfk_user_Id
に格納されていることがわかります。
これら 2 つのテーブル間に一対多の関係を作成したり、 Doctrine /Annotationsを使用してこの SQL スキーマを作成したりするにはどうすればよいですか?
私は2つのテーブルを持っています
そしてテーブルの構造:
ユーザー:
メッセージ:
ここで、 Users テーブルに多数のユーザーがあり、そのメッセージが で識別されるMessages テーブルfk_user_Id
に格納されていることがわかります。
これら 2 つのテーブル間に一対多の関係を作成したり、 Doctrine /Annotationsを使用してこの SQL スキーマを作成したりするにはどうすればよいですか?
これは一般的なケースであり、検索すればそのような例を簡単に見つけることができると思います。
この例を参照できます
あなたの2つのエンティティファイルはUser.php
、Message.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;
}