我有两个表:
职位
ID | title | content | user
用户
ID | 名称
并且我想在帖子集合中使用用户名。我在这里做错了什么?我是否必须编写自定义查询才能执行此操作?
现在我在帖子集合中获取用户 ID。
class Posts
{
...
/**
* @ORMColumn(name="user", type="text", length=250)
* @ORMManyToOne(targetEntity="Users", inversedBy="posts")
* @ORMJoinColumn(name="user", referencedColumnName="id")
*/
protected $user;
...
用户类:
class Users
{
/**
* @var int
*
* @ORMColumn(name="id", type="integer")
* @ORMId
* @ORMGeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORMColumn(type="text", length=250)
*/
public $name;
/**
* @ORMOneToMany(targetEntity="Posts", mappedBy="user")
*/
protected $posts;
...
您的
$user关系注释中有错误,则无法使列成为常规@ORM\列和@ORM\JoinColumn,请尝试:
/**
* @ORMManyToOne(targetEntity="Users", inversedBy="posts")
* @ORMJoinColumn(name="user", referencedColumnName="id")
*/
protected $user;
这将给你实体(引用列名必须是主键),然后你可以做$user->getName();