Integrity constraint violation: 1052 Column 'id' in order clause is ambiguou

在thinkphp的关联模型测试中出现了这个问题,如题为
违背完整性约束条件,id列模棱连可
贴出我的many to many配置

"class"=>array(
                    'mapping_type' => self::MANY_TO_MANY,   //关系类型:多对多
                    'foreign_key' =>  'uid',   //主表在中间表中的字段名称
                    'relation_foreign_key' =>  'cid',   //关联表(副表)在中间表中的字段名称(外键)
                    //安装的时候表前缀一定要更改//debug//不能使用C()动态改变
                    'relation_table' => 'clyc_user_interested',  //中间表的表名(多对多关系中必须指定)
                    'mapping_fields' => 'classname', //只读取关联表(副表)中的部分字段,不指定则为全部字段
                    'mapping_order' => 'id' ,//排序要不要无所谓
                    'mapping_limit' => 3,     //返回记录数
            ),

引发这次完整性约束的罪魁祸首就是mapping_order,这里填的id,然后thinkphp的RelationModel不知道是哪个表的id,
这里我们在排序时候就要写明白是哪个表的,由于表的命名是这样的
如图这里写图片描述
系统以a,b命名表,所以这里只需要改成a.id 或者b.id即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值