コントローラーに次のコードがあります。Claim.number
とを除くすべてのフィールドで並べ替えることができますPayer.abbr
。それがなぜなのか誰にもわかりますか?
$this->paginate = array(
'fields' => array(
'PaymentException.*', 'Procedure.id', 'Procedure.cpt',
'Procedure.expected_amount', 'Procedure.allowed_amount', 'Procedure.difference_amount',
'Claim.id', 'Claim.number', 'Payer.abbr'
),
'limit' => 50,
'joins' => array(
array(
'table' => 'procedures',
'alias' => 'Procedure',
'conditions' => array('Procedure.id = PaymentException.procedure_id')
),
array(
'table' => 'claims',
'alias' => 'Claim',
'conditions' => array('Claim.id = Procedure.claim_id')
),
array(
'table' => 'payers',
'alias' => 'Payer',
'conditions' => array('Payer.id = Procedure.payer_id')
),
array(
'table' => 'groups',
'alias' => 'Groups',
'conditions' => array('Groups.id = Claim.group_id')
),
array(
'table' => 'exception_workflow_logs',
'alias' => 'ExceptionWorkflowLog',
'conditions' => array('ExceptionWorkflowLog.exception_id = PaymentException.id')
)
),
'conditions' => $conditions
);
すべてのフィールドは、次のようにビューで実行されました。
<?php echo $this->Paginator->sort('Claim', 'Claim.number'); ?>
Claim.number
URL に表示されますが、またはでソートされることはありませんPayer.abbr
。なぜそうなるのかわかりません。
私の条件配列には次のものがあります。
array
0 => string 'Procedure.difference_amount < 0' (length=31)
1 => string 'PaymentException.finalized IS NULL' (length=34)
条件配列は、適切に並べ替えられた列でも同じままであることに注意してください。