发现了TP里 多对多关联模型里一个问题 不知道是不是真的 大家看看

浏览:1616 发布日期:2014/12/09 分类:求助交流
先上 多对多关联
class ImgModel extends RelationModel{
Protected $_link = array(
'cate' => array(
'mapping_type' => self::MANY_TO_MANY,
//'class_name' => 'attr',
//'mapping_name' => 'attrs',
'foreign_key' => 'img_id',
'relation_foreign_key' => 'cate_id',
'relation_table' => 'hd_img_cate',
),

);
}
两个表 一个图片表img和 一个网页表cate
图片表
id url(图片路径) title(图片说明)
网页表
id name(网页名子) src(网页链接)
中间表 img_cate
img_id(图片ID)cate_id(网页ID)
每张图片可以出显在多个网页里
每个网页可以显示多个图片

这时被关联的表 cate ID 为1(首页) 2(新闻页) 3(活动页) 以此类推一直到10 中间没有11 (因为以前做过修改删除了) 直接12(论坛页)13(个人管理页)以此类推 那么 这时如果 图片表关联了 10(包括)以下的网页表 中间表都会正常插入ID 比如 img 的ID为1的图 在 1(首页) 2(新闻页)显示
这时 中间表就会是
img_id cate_id
1 1
1 2
但如果img 的ID为2的图 在直接12(论坛页)显示 就会是
img_id cate_id
1 1
1 2
2 1
也就是说 超过10以后 的cate中的ID 不能正常插入
然后我把 cate中的 ID 改为 1 2 3 4 5 7 8 9
发现 中间表中 cate_id关联的前5个正常 超过5就会是1
也就是说 我感觉 在TP里 多对多 关联的表中 被关联的表的ID不能断 也就是说得是连续的 不然 在断的地方的以后的ID不能正常插入到 中间表里

我不知道 这是不是TP的原因 还是我自己弄过了 我感觉 这个东西 被关联的表应该不受ID顺序的限制 这样才算合理 希望有牛人大神帮我看看 是不是我的问题 还请指点
还有就是 如果我cate表的顺序中间没有间隔也就是从1一直到最后 这样能正确插入数据
那么 我插入了N多数据以后 我想用这个关联 查一下 在我的 论坛页(cate 表中 ID为12)中 有多少张要显示的图片 这个查询应该怎么写?好像这个关联不能为cate表中的任何数据字段为条件吧
先谢谢了!

最佳答案
评论( 相关
后面还有条评论,点击查看>>