1

我正在尝试运行此查询:

   $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 文件。

4

1 回答 1

2

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

Modification:
        foreignAlias: Locations

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

于 2011-01-14T11:15:15.790 回答