CakePHP: 复杂关联查询时出现Unknown Column错误
来源:互联网 发布:怎么让眼白变清澈知乎 编辑:程序博客网 时间:2024/06/08 01:30
假如一个Deal包含多个语言版本的DealDetails
现在想在分页中获取
1)仅仅包含指定语言DealDetail的Deal列表
2)而且对于每个Deal仅仅返回指定语言的DealDetail
对于1如果只是使用如下的语句:
$this->paginate['Deal']['conditions']['DealDetail.lang_id'] = $this->data['lang_id'];
将会出现Unknown Column DealDetail.lang_id错误,即使你已经在Model中定义了Deal hasMany DealDetails, DealDetail belongsTo Deal
解决方法是使用'joins'参数
对于2,使用'containable'行为。
示范代码如下:
'Deal' => array(
'limit' => self::PAGE_LIMIT,
'order' => array(
'Deal.created' => 'DESC',
'Deal.id' => 'DESC',
),
'joins' => array(
array('table' => 't_deal_details',
'alias' => 'DealDetail',
'type' => 'LEFT',
'conditions' => array(
'DealDetail.deal_id = Deal.id',
)
)
),
'conditions' => array(
'DealDetail.lang_id' => 2,
),
'contain' => array(
'DealDetail' => array(
'conditions' => array(
'DealDetail.lang_id' => 2,
)
),
)
更多细节阅读
http://book.cakephp.org/view/1039/Associations-Linking-Models-Together
regards,
iefreer
- CakePHP: 复杂关联查询时出现Unknown Column错误
- cakephp表关联查询
- python操作数据库出现错误 : Unknown column 'XXXX' in 'where clause'")错误
- mysql5.7.18 更改密码是出现 Unknown column 'password' in 'field list'错误
- 数据库 —— 查询避免 Unknown column ‘xxx’ in ‘where clause’ 错误
- Unknown column 'xxx' in 'where clause'错误
- dedecms和ucenter整合时出现Error:Unknown column 'app3' in 'where clause'的解决办法
- MySQL5.7更改密码时出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'
- MySQL5.7.13更改密码时出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'
- MySQL5.7更改密码时出现ERROR 1054 (42S22): Unknown column 'password'
- MySQL5.7更改密码时出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'
- MySQL5.7更改密码时出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'
- MySQL5.7更改密码时出现ERROR 1054 (42S22): Unknown column 'password' in 'fie
- MySQL5.7更改密码时出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'
- MySQL5.7更改密码时出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'
- MySQL5.7更改密码时出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'
- MySQL5.7更改密码时出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'
- MySQL5.7忘记密码时出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'
- delphi中临界操作方法
- oracle物化视图
- 实验
- 现阶段学习的方向
- c/c++结构体几种定义情况总汇二
- CakePHP: 复杂关联查询时出现Unknown Column错误
- poj 3259
- Java【多线程知识总结(10)】线程通信之wait()与notify()的运用--模拟指挥官指挥2个连队交替轰炸战区
- 程序员应知——破窗与童子军军规
- nohup命令
- oracle03_gc安装
- Android JNI 使用的数据结构JNINativeMethod详解
- 冒泡排序
- 搞不懂