我是 Symfony 和 Doctrine 的新手,我正在尝试加入两个表,这样我就可以轻松地从 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
谢谢。