gpt4 book ai didi

php - zend_db 适配器不在/zend_db_expr

转载 作者:行者123 更新时间:2023-11-29 04:31:23 26 4
gpt4 key购买 nike

我调用了一个模型,它只是一个标准类(不扩展 zend_db_table)。我正在做一个选择,并希望有可能排除一组将作为变量传入的 id。

我目前有以下内容:

public function getItemsBySection($section, $excluded_ids=null){
//handle this as special case (although only case at this point)

if(is_array($excluded_ids) and count($excluded_ids)>0){
$x=1;
foreach($excluded_ids as $key=>$value){
if($x==1){
$not_in=$value;
}else{
$not_in.=','.$value;
}
$x++;
}
}

if($section=='feed_supplies'){
$sql='select * from items where is_feed_supply=1';
if($not_in){
$sql.=' and id not in ('.$not_in.')';
}
}

echo $sql . '<br/>';

$results=$this->_db->fetchAll($sql);

但想知道是否有办法使用 Zend_Db_Expr 或其他构造来处理某些项目的排除?我不会像它是整数等那样进行错误处理......

我个人不是 zend_db_select 语法的忠实粉丝,但如果它修复了这样的问题,我可能会被说服(想看看 Doctrine2)。

谢谢

最佳答案

$select = $db->select();
$select->from('items')
->where('is_feed_supply = ?',1)
->where('id NOT IN (?)', $notInArray);

$notInArray 将自动内爆 AFAIK(至少对于整数)。然后

$yourSQL = $select->__toString();

Zend_Db_Select rocks :D

顺便说一句:尽量坚持编码标准

关于php - zend_db 适配器不在/zend_db_expr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1890389/

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