Php 如何在symfony 1.0中添加其他选择列

Php 如何在symfony 1.0中添加其他选择列,php,symfony1,Php,Symfony1,如何向select查询中添加一个额外的列,以便在执行TableA::doSelect($c)时还可以获得TableB的一些列?symfony 1.0中似乎没有addSelectColumn,除非我遗漏了什么 $c = new Criteria(); $c->setDistinct(); // need to add TableB::START_DATE to select $c->addJoin(TableA::ID, TableB::ID); ... $c->addAscen

如何向select查询中添加一个额外的列,以便在执行TableA::doSelect($c)时还可以获得TableB的一些列?symfony 1.0中似乎没有addSelectColumn,除非我遗漏了什么

$c = new Criteria();
$c->setDistinct();
// need to add TableB::START_DATE to select
$c->addJoin(TableA::ID, TableB::ID);
...
$c->addAscendingOrderByColumn ( TableB::START_DATE );
$result = TableA::doSelect($c);

您可以在Symfony 1.0中使用addSelectColumn(),但应避免在这种情况下添加doSelect()

此方法正在执行一个对象,并希望按模式文件中描述的顺序获取其所有字段。尝试跳过一个字段或从另一个表中添加一个字段将在结果集中被忽略

根据您的推进版本,您可以尝试改用doSelectStmt()、doselects()或doSelectJoin()方法

或者使用最简单的方法,只需使用prepareStatement()

$con = Propel::getConnection();
$sql = "SELECT `table1`.field1, `table2`.field2 FROM `table1` JOIN `table2`. ON ..."

$st = $con->prepareStatement($sql);
$rs = $st->executeQuery();

while ($rs->next())
{
...
}