2011-01-14 54 views
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文件看起来像这样(两个一对多关系,修改和站点都有很多位置):

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

回答

2

这是m.Locations no? 您YAML specifie此别名,而不是位置

Modification: 
     foreignAlias: Locations 

我从来不看YAML文件,所以我不知道

+0

你知道,我总是觉得很愚蠢,要求他们以后的问题?这是其中之一。我无法相信我错过了那么明显的事情。非常感谢。 – Yacoby 2011-01-14 11:31:54