加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Zend选择所有列

发布时间:2020-12-13 18:07:31 所属栏目:PHP教程 来源:网络整理
导读:在以下代码中: $selectColumns= array('user_id.user_email',// inner join the data from user_id and user_details 'user_details.first_name','user_details.last_name'); $result = $handle-select()-from('user_id',$selectColumns) -where('user_id.u
在以下代码中:
$selectColumns= array('user_id.user_email',// inner join the data from user_id and user_details
                            'user_details.first_name','user_details.last_name');
        $result = $handle->select()->from('user_id',$selectColumns)
                                   ->where('user_id.uid=?',$uid)
                                   ->join('user_details','user_id.uid = user_details.uid')
                                   ->query(ZEND_DB::FETCH_OBJ);

Zend选择表中的所有列,而不仅仅是请求的列.

我怎样才能选择一些?

问题出在你的join()方法调用中:
->join('user_details','user_id.uid = user_details.uid')

可选的第三个参数是此表中的列.如果参数不存在,则默认为user_details.*.

请注意,您从from()表中的两个表中添加了限定列,但这对user_details的默认值没有影响.*.抱歉,Zend_Db_Select只是不够智能,无法跟踪所有这些.

您可以通过传递一个空数组使join()调用不添加任何列:

->join('user_details','user_id.uid = user_details.uid',array())

您在from()调用中添加的限定列应该仍然存在.要自己验证,请打印SQL:

print $result . "n"; // calls __toString() method on Zend_Db_Select object

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读