0
Эй У меня есть запрос, который использует ключевое слово IN
. Как я могу перевести это на запрос выбора zend?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'
и вот что я имею в Зенд до сих пор:
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;
}
Есть ли у меня это право или как будет реорганизовывать мой код?
Благодаря
Nathan :)