gpt4 book ai didi

php - Zend 选择所有列

转载 作者:可可西里 更新时间:2023-11-01 12:48:14 25 4
gpt4 key购买 nike

在下面的代码中:


$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

关于php - Zend 选择所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1033839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com