【问题标题】:Doctrine Relations Problem教义关系问题
【发布时间】:2011-01-14 10:52:33
【问题描述】:

我正在尝试运行此查询:

   $record = Doctrine_Query::create()
                        ->select('m.*')
                        ->from('Modification m')
                        ->leftJoin('m.Location l')
                        ->leftJoin('l.Site s')
                        ->where('CONCAT(s.baseUrl, s.modUrlPrefix, l.urlSuffix) = ?', (string)$url)
                        ->fetchOne();

但是,它失败并出现错误

Doctrine_Table_Exception:未知关系别名位置

yaml 文件中的关系如下所示(一对多关系。Modification 和 Site 都有很多 Locations):

Site:
    columns:
        id:
            type: integer
            primary: true
            autoincrement: true

Modification:
    columns:
        id:
            type: integer
            primary: true
            autoincrement: true

Location:
    columns:
        modification_id: integer
        site_id: integer
    relations:
        Modification:
            foreignAlias: Locations
        Site:
            foreignAlias: Locations
        Category:
            foreignAlias: Locations

我没有在我需要的 yaml 文件中添加什么?据我所知,我已经按照文档建议的方式设置了 yaml 文件。

【问题讨论】:

    标签: php doctrine doctrine-1.2


    【解决方案1】:

    是 m.Locations 不是吗? 您的 yaml 指定此别名,而不是 Location

    Modification:
            foreignAlias: Locations
    

    我从来没有读过 yaml 文件,所以我不确定

    【讨论】:

    • 你知道我问了之后总觉得很傻的问题吗?这是其中之一。我不敢相信我错过了这么明显的东西。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-21
    • 1970-01-01
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    • 2015-09-22
    相关资源
    最近更新 更多