CakePHP模型中使用join的多种写法
2024-09-04 11:45:36
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'");
最新文章
- 关于ubuntu16.4 中安装最新的eclipse或者是STS出现页面特卡,且新建项目没有提示,preference选项中点击左侧标签右侧没反应的解决办法,参照google, 排版不太好,希望对一些小伙伴有所帮助
- IOS 多线程03-GCD
- Android M 控件:Snackbar、Toolbar、TabLayout、NavigationView
- My97DatePicker使用技巧
- Bomb---hdu5934(连通图 缩点)
- 【HDOJ】4358 Boring counting
- SGU 121.Bridges painting
- JavaScript_数组
- windows 编程 —— 菜单以及其他资源
- 关于ThinkPHP控制器的方法失效的问题
- php获取指定日期,前一天、前一周、前一个月、前一年,后一天,后一周,前一个月,前一年
- centos7安装ceph-luminous(1 mon+2 osd)
- PS调出春夏外景婚纱照
- JS学习笔记Day4
- dos初始操作和全屏方法
- wx工具栏,菜单栏,状态栏
- [Unity工具]批量修改字体
- Servlet基本_初期化パラメータ、外部ファイル
- Beanutils.copyProperties( )的使用与优化
- 用Maven创建第一个web项目