Cake写法
App::import("Model","Client"); $this->Client = & new Client(); $this->Client->recursive = -1; $options['conditions'] = array('Client.id' => $client_id); $options['fields'] = "LeadSource.name"; $options['joins'] = array( array('table' => 'lead_sources', 'alias' => 'LeadSource', 'type' => 'LEFT', 'conditions' => array( 'Client.lead_source_id = LeadSource.id', ) ) ); $result = $this->Client->find('first',$options);
当给定$client_id值,转换成的SQL:
SELECT `LeadSource`.`name` FROM `clients` AS `Client` LEFT JOIN lead_sources AS `LeadSource` ON (`Client`.`lead_source_id` = `LeadSource`.`id`) WHERE `Client`.`id` = '5213a989-571f-3054-91a8-6ee84568b17e' LIMIT 1
更简洁的原生SQL写法
$lead_source_name = $this->Client->query("select lead_sources.name from lead_sources,clients where clients.lead_source_id = lead_sources.id and clients.id = '$client_id'");