dan*_*iel 7 php zend-framework zend-db
我有以下代码
$result = $handle->select()->from('store_details')
->where('store_details.store_id=?', $id)
->columns('store_details.store_name');
//->query(ZEND_DB::FETCH_OBJ);
Run Code Online (Sandbox Code Playgroud)
但是,当我运行它时,选择整行,而不仅仅是我想要的列.这是__toString的输出
SELECT `store_details`.*, `store_details`.`store_name`
FROM `store_details` WHERE (store_details.store_id=8)
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
kar*_*m79 10
该columns()方法用于向现有的from或join 添加列.构建查询的正确方法是:
$result = $handle->select()->from('store_details','store_details.store_name')->where('store_details.store_id=?', $id);
Run Code Online (Sandbox Code Playgroud)
您需要将所需的列指定为from()方法的第二个参数,如果它只是一个列,则指定为字符串,或者指定为多个列的数组.来自Zend_Db_Select docs:
在from()方法的第二个参数中,您可以指定要从相应表中选择的列.如果未指定列,则默认为"*",即"所有列"的SQL通配符.
您可以在简单的字符串数组中列出列,也可以列列名称与列名称的关联映射.如果只有一列要查询,并且不需要指定列别名,则可以将其列为纯字符串而不是数组.