在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即可