私は Symfony と Doctrine が初めてで、2 つのテーブルを結合しようとしているので、Twig テンプレートから関連する値に簡単にアクセスできます。
ここに私のデータベーススキームがあります:
+--------------------------------------+--------------------+
|Messages | User |
|id user text user_id | id name |
|1 testuser something 1 | 1 John |
+--------------------------------------+--------------------+
これは私のMessage
エンティティです:
/**
* @ORM\Entity
* @ORM\Table(name="Messages")
*/
class Message {
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
protected $user_id;
/**
* @ORM\Column(name="text", type="text")
*/
protected $text;
/**
* @ORM\ManyToOne(targetEntity="User")
* */
private $user;
}
そして、これは私のUser
エンティティです:
/**
* @ORM\Entity
* @ORM\Table(name="Users")
*/
class User {
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(name="name", type="string", length=255)
*/
protected $name;
}
次に、コントローラーで$messages
変数を Twig テンプレートに送信します。
$messages = $this->getDoctrine()->getEntityManager()->getRepository('MeMyBundle:Message')->findAll()
問題は、接合が適切に行われているかどうかです。Twig でname
プロパティにアクセスするにはどうすればよいですか? message
ありがとう。