[英]Zend_Db_Table_Abstract and MySQL IN Keyword
嘿,我有一个使用IN
关键字的查询。 如何将其转换为zend select查询?
这是原始SQL形式的查询:
SELECT
rs_credit_score,
rs_fraud_score
FROM
provenir_instance_response
WHERE
application_number = @in_applcation_number
AND channel = @in_channel
AND final_decision_reason IN (
'Failed CallCredit Delphi ID Check',
'Failed Delphi KORules',
'Credit Score Cut Matrix Failure',
'Fraud Score Cut Matrix Failure',
'Teletrack Rule Failure'
到目前为止,这是我在Zend中所拥有的:
public function scoreQuery($memId, $channel){
//Build Query
$select = $this->select();
$select->from('provenir_instance_response', array('rs_credit_score', 'rs_fraud_score'));
$select->where('application_number=?', $memId);
$select->where('channel=?', $channel);
$select->where('final_decision_reason IN Failed CallCredit Delphi ID Check');
$select->where('final_decision_reason IN Failed Delphi KORules');
$select->where('final_decision_reason IN Credit Score Cut Matrix Failure');
$select->where('final_decision_reason IN Fraud Score Cut Matrix Failure');
$select->where('final_decision_reason IN Teletrack Rule Failure');
$result = $this->fetchAll($select);
return $result;
}
还是这个?
public function scoreQuery($memId, $channel){
//Build Query
$select = $this->select();
$select->from('provenir_instance_response', array('rs_credit_score', 'rs_fraud_score'));
$select->where('application_number=?', $memId);
$select->where('channel=?', $channel);
$select->where('final_decision_reason IN (
\'Failed CallCredit Delphi ID Check\',
\'Failed Delphi KORules\',
\'Credit Score Cut Matrix Failure\',
\'Fraud Score Cut Matrix Failure\',
\'Teletrack Rule Failure\'
)');
$result = $this->fetchAll($select);
return $result;
}
我认为应该是这样吗?
public function scoreQuery($memId, $channel){
//Build Query
$select = $this->select();
$select->from('provenir_instance_response', array('rs_credit_score', 'rs_fraud_score'));
$select->where('application_number=?', $memId);
$select->where('channel=?', $channel);
$select->where('final_decision_reason IN (?)', array(
'Failed CallCredit Delphi ID Check',
'Failed Delphi KORules',
'Credit Score Cut Matrix Failure',
'Fraud Score Cut Matrix Failure',
'Teletrack Rule Failure'
));
$result = $this->fetchAll($select);
return $result;
}
我是否正确,还是如何重构我的代码?
谢谢
内森:)
public function scoreQuery($memId, $channel){
//Build Query
$select = $this->select();
$select->from('provenir_instance_response', array('rs_credit_score', 'rs_fraud_score'));
$select->where('application_number=?', $memId);
$select->where('channel=?', $channel);
$select->where('final_decision_reason IN (?)', array(
'Failed CallCredit Delphi ID Check',
'Failed Delphi KORules',
'Credit Score Cut Matrix Failure',
'Fraud Score Cut Matrix Failure',
'Teletrack Rule Failure'
));
$result = $this->fetchAll($select);
return $result;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.