Symfony1 使用推进选择条件选择某些字段

Symfony1 使用推进选择条件选择某些字段,symfony1,criteria,propel,symfony-1.4,Symfony1,Criteria,Propel,Symfony 1.4,我在Symfony 1.4中为推进标准提供的文档中找不到类似的内容 默认情况下,标准为: $this->Merchantss = MerchantsPeer::doSelect(new Criteria()); 但是,这会为“商家”选择表中的所有字段。我只想选择一对,比如:id、姓名、类别。如何通过标准做到这一点 我尝试了以下操作,但未返回输出: $criteria = new Criteria(); $criteria->add(MerchantsPeer::NAME); $cr

我在Symfony 1.4中为推进标准提供的文档中找不到类似的内容

默认情况下,标准为:

$this->Merchantss = MerchantsPeer::doSelect(new Criteria());
但是,这会为“商家”选择表中的所有字段。我只想选择一对,比如:id、姓名、类别。如何通过标准做到这一点

我尝试了以下操作,但未返回输出:

$criteria = new Criteria();
$criteria->add(MerchantsPeer::NAME);
$criteria->add(MerchantsPeer::ID);
$criteria->add(MerchantsPeer::CATEGORY);
$this->Merchantss = MerchantsPeer::doSelect($criteria);
提前感谢

以下是操作方法:

$criteria = new Criteria();
$criteria->clearSelectColumns();
$criteria->addSelectColumn(MerchantsPeer::NAME);
$criteria->addSelectColumn(MerchantsPeer::ID);
$criteria->addSelectColumn(MerchantsPeer::CATEGORY);
$this->MerchantsStmt = MerchantsPeer::doSelectStmt($criteria);
$this->MerchantsStmt是一个
PDOStatement
对象,可以使用
->fetch()
方法对其进行迭代。有关更多详细信息,请参见此处:

为了在模板中显示内容,您需要知道symfony“保护”传递给模板的对象的内容,以防止执行恶意代码。如果您信任$MerchantsStmt对象的内容,则可以按如下方式对其进行迭代:

<?php

$MerchantsStmt = $sf_data->getRaw('MerchantsStmt');

foreach ($MerchantsStmt->fetchAll() as $value)
{
  //some display logic
}

?>

这是如何做到的:

$criteria = new Criteria();
$criteria->clearSelectColumns();
$criteria->addSelectColumn(MerchantsPeer::NAME);
$criteria->addSelectColumn(MerchantsPeer::ID);
$criteria->addSelectColumn(MerchantsPeer::CATEGORY);
$this->MerchantsStmt = MerchantsPeer::doSelectStmt($criteria);
$this->MerchantsStmt是一个
PDOStatement
对象,可以使用
->fetch()
方法对其进行迭代。有关更多详细信息,请参见此处:

为了在模板中显示内容,您需要知道symfony“保护”传递给模板的对象的内容,以防止执行恶意代码。如果您信任$MerchantsStmt对象的内容,则可以按如下方式对其进行迭代:

<?php

$MerchantsStmt = $sf_data->getRaw('MerchantsStmt');

foreach ($MerchantsStmt->fetchAll() as $value)
{
  //some display logic
}

?>


谢谢。我使用了您的解决方案,并使用->fetchAll()获取了整个数组。现在我使用foreach遍历它。但是,如何获得特定的值?它似乎是一个object类型的对象(SfoutputEscaperarArrayCorator),添加了一个解决方案,用于将内容迭代到上面的答案中。效果非常好。今天学到了一些新东西。谢谢!:-)非常感谢。我使用了您的解决方案,并使用->fetchAll()获取了整个数组。现在我使用foreach遍历它。但是,如何获得特定的值?它似乎是一个object类型的对象(SfoutputEscaperarArrayCorator),添加了一个解决方案,用于将内容迭代到上面的答案中。效果非常好。今天学到了一些新东西。谢谢!:-)