0
嘿,我有一個使用IN
關鍵字的查詢。我如何將它轉換爲zend select查詢?Zend_Db_Table_Abstract和MySQL IN關鍵字
這是原始的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;
}
我有沒有關於正確或重構我的代碼?
感謝
彌敦道:)