내 문제는 모든 테이블이 관련되어 있고 내가 원하는 것을 얻기 위해 SQL 쿼리를 만들 수있는 5 개의 다른 테이블에서 데이터를 가져 오려고합니다. 여기있어.cakephp 여러 테이블로 모두 찾기
SELECT accounts.account_number, trailers.id, members.first_name, balances.balance, loans.loan_description, delinquent_loans.days_delinquent, delinquent_loans.amount_delinquent, delinquent_loans.next_contact, delinquent_loans.last_contact
FROM accounts, trailers, members, balances, accounts_trailers, loans, delinquent_loans
WHERE delinquent_loans.loan_id = loans.id
AND loans.accounts_trailer_id = accounts_trailers.id
AND accounts_trailers.account_id = accounts.id
AND accounts_trailers.trailer_id = trailers.id
AND accounts.member_id = members.id
AND balances.accounts_trailer_id = accounts_trailers.id
AND members.first_name
REGEXP '^[a-l]'
ORDER BY delinquent_loans.days_delinquent DESC
내가 이해할 수없는 것은 cakePHP에서이 쿼리를 올바르게 수행하는 방법입니다. 나는 단지 쿼리 함수를 사용하여 이전 쿼리를 붙여 넣을 수 있다고 확신하지만 올바른 방법으로이 작업을 수행하려고합니다.
public function listAL(){
$this->recursive = -1;
$conditions = array('`DelinquentLoan`.`loan_id` = `Loan`.`id`',
'`Loan`.`accounts_trailer_id` = `AccountsTrailer`.`id`',
'`AccountsTrailer`.`account_id` = `Account`.`id`',
'`AccountsTrailer`.`trailer_id` = `Trailer`.`id`',
'`Account`.`member_id` = `Member`.`id`',
'`Balance`.`accounts_trailer_id` = `AccountsTrailer`.`id`',
'`Member`.`first_name` regexp \'^[a-l]\'');
$fields = array('`Account`.`account_number`,
`Trailer`.`id`, `Member`.`first_name`,
`Balance`.`balance`,
`Loan`.`loan_description`,
`Delinquent_loan`.`days_delinquent`,
`Delinquent_loan`.`amount_delinquent`,
`Delinquent_loan`.`next_contact`,
`Delinquent_loan`.`last_contact`');
return $this->find('all', array('fields'=> $fields,
'order'=>array('`DelinquentLoan`.`days_delinquent` desc'),
'conditions'=> $conditions));
}
감사의 말을 전합니다. 나는 다른 사이트와 포럼을 보았지만 아무 소용이 없다. 고맙습니다.