我有一个表叫"tax"
两列"id | tax_value"
。我可以用foreach
很好地列出表格。简单主义查询 - >一个具体的行和列
现在我的问题是,当我只想要 在PHP代码中有一个特定的行和列时,代码如何?我不希望它在查询中!
例如:
column 2 (tax_value)
row 1.
查询给了我一个数组,对不对?
我有一个表叫"tax"
两列"id | tax_value"
。我可以用foreach
很好地列出表格。简单主义查询 - >一个具体的行和列
现在我的问题是,当我只想要 在PHP代码中有一个特定的行和列时,代码如何?我不希望它在查询中!
例如:
column 2 (tax_value)
row 1.
查询给了我一个数组,对不对?
在TaxTable.class.php:
public function getOneById($id)
{
$q = Doctrine_Query::create()->select("t.tax_value")
->from("tax t")
->where("t.id = ?", $id)
->fetchOne();
return $q;
}
在行动:
public function executeTaxView(sfWebRequest $request)
{
$this->tax = TaxTable::getInstance()->getOneById($request->getParameter("id"));
$this->forward404Unless($this->tax);
}
在taxViewSucess.php
:
Tax Value: <b><?php echo $tax->getTaxValue();?></b>
如果您使用Doctrine_Query,那么您可以使用fetchOne抓取一行。而且它是一个有点,因为我已经使用原则1,但我与Doctrine_Query您可以在现场选择列表设置为一列呼之欲出。
与取单行时,您可以使用Doctrine::HYDRATE_SINGLE_SCALAR
您选择声明中的单列:
$total = Doctrine_Query::create()->from('Products p')
->select('SUM(p.amount) as total')
->where('p.category_id = ?', $categoryId)
->fetchOne(array(), Doctrine::HYDRATE_SINGLE_SCALAR);
// $total is now a single value, eg. 12
实施例采用的是假想产品表的类别,并选择产品的量为某一类别。
如何在symfony中使用此查询取决于您的需求:在表格类,模型类,动作中..
Doctrine 1 or 2? – David 2011-05-31 17:16:36
学说1.2。抱歉! – craphunter 2011-05-31 17:34:09