2012-09-29 176 views
2

我已经使用查询生成器构建了正确的工作查询。将列动态添加到列列表

但是现在有一个条件,其中一个方法(负责动态地将一些表格添加到查询中)必须向查询添加一列。

我试过以下(这要复杂得多,但它几乎是相同的):提前

回答

1

$querybuilder->select('EntityA.Property') 
      ->from ('EntityA'); 

// here is happening some awesome stuff... ;-) 
// Now i have to add the Table, and The column 

$querybuilder->innerJoin('EntityB'); // this is working 
$querybuilder->add('select', 'EntityB.Property'); // overwrites my columnlist 
// $querybuilder->select('EntityB.Property'); // also overwrites my columnlist 

感谢你为什么不只是组装选择子句seperately这样:

$fields = array(); 

$fields[] = "EntityA.Property" 

// code here, and finally, you decide you need EntityB 
$fields[] = "EntityB.Property" 
$querybuilder->innerJoin('EntityB'); 

// done with building the query, assign select 
$querybuilder->select($fields); 
+0

hm,它更简单, - > select()可以处理数组; - ),但是通过方法添加它会很好,所以我不必传递一个新参数。但是,谢谢,它会工作 – RomanKonz

+0

我会编辑我的答案,以反映 – adhominem