Doctrine 不会加入两列 - 使用 Symfony2 和 Doctrine



我有两个表:

职位

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();

相关内容

  • 没有找到相关文章

最新更新