我有一个名为"tax"
的表,其中包含两列"id | tax_value"
。我可以很好地列出表foreach
。
现在我的问题是,当我想要的时候代码是怎么样的 php代码中有一个特定的行和列?我不希望它在查询中!!!
例如:
column 2 (tax_value)
row 1.
查询给了我一个数组,对吧?
答案 0 :(得分:4)
在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>
答案 1 :(得分:4)
在select语句中使用单个列获取单行时,可以使用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
示例使用带有类别的虚构Product表,并选择特定类别的产品数量。
如何在symfony中使用此查询取决于您的需求:在表类,模型类,操作中,..
答案 2 :(得分:0)
如果您使用Doctrine_Query,则可以使用fetchOne抓取一行。此外,我已经使用了Doctrine 1,但我几乎可以肯定使用Doctrine_Query,您可以将字段选择列表设置为一列。