学说关系问题

时间:2011-01-14 10:52:33

标签: php doctrine doctrine-1.2

我正在尝试运行此查询:

   $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文件中的关系看起来像这样(两个一对多的关系。修改和站点都有很多位置):

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文件,与文档建议的相同。

1 个答案:

答案 0 :(得分:2)

这是我的。地点不是吗? 你的yaml指定了这个别名,而不是Location

Modification:
        foreignAlias: Locations

我从未读过yaml文件,所以我不确定