我有一個表叫"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