2010-06-14 71 views
2

我是新来的教条:我有一个连接记录的排序问题。PHP:学说:订单加入记录

样本。

我有一个文章模型,它与1 < - > n中的源模型相关联。源模型具有一个名为“位置”的属性,具有整数值。

现在我想获取一个文章,它的来源orderes的位置。我的DQL如下所示:

$q = Doctrine_Query::create() 
    ->select('a.title, s.content') 
    ->from('Article a') 
    ->leftJoin('a.Source s') 
    ->where('a.id = ?') 
    ->orderBy('s.position'); 

如果我编辑位置,结果不会改变。

最好的问候, 塞巴斯蒂安

+0

我有同样的问题...仍然没有solutin:/ – 2013-11-13 18:10:48

回答

0

嗯......它应该做的。也许可以尝试以下任一种:

->orderBy('s.position DESC') 
->orderBy('s.position ASC') 
0

是的,它看起来没问题。尝试使用getSqlQuery()从DQL生成SQL,并使用结果查询数据库。如果仍然存在错误的输出,那么可能是由于数据问题或更可能与DQL有关。

0

也许你应该包括你正在使用的排序(s.position)列,所以试试这个:

$q = Doctrine_Query::create() 
->select('a.title, s.content, s.position') 
->from('Article a') 
->leftJoin('a.Source s') 
->where('a.id = ?') 
->orderBy('s.position');