php – zend不使用列,并选择一切

我有以下代码
$result = $handle->select()->from('store_details')
                               ->where('store_details.store_id=?',$id)
                               ->columns('store_details.store_name');
                               //->query(ZEND_DB::FETCH_OBJ);

但是,当我运行它时,选择整行,而不仅仅是我想要的列.
这是__toString的输出

SELECT `store_details`.*,`store_details`.`store_name` 
FROM `store_details` WHERE (store_details.store_id=8)

有帮助吗?

columns()方法用于向现有的from或join添加列.构建查询的正确方法是:
$result = $handle->select()->from('store_details','store_details.store_name')->where('store_details.store_id=?',$id);

您需要将所需的列指定为from()方法的第二个参数,如果它只是一个列,则指定为字符串,或者指定为多个列的数组.从Zend_Db_Select docs

In the second argument of the from()
method,you can specify the columns to
select from the respective table. If
you specify no columns,the default is
“*”,the sql wildcard for “all
columns”.

You can list the columns in a simple array of strings,or as an associative mapping of column alias to column name. If you only have one column to query,and you don’t need to specify a column alias,you can list it as a plain string instead of an array.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...