关于spModel设置主键的问题
发布于:2022-01-17 09:50:54
#1 phpha
现在有一站点信息配置表,里面只有2个字段……
field(字段名) value(字段值)
因此,我没有设置主键!但是在 定义模型类时,如果我省略了 "$pk= 自增字段" ,就会访问时提示错误。
我看了,错误的原因是SP默认查询(findAll())带了 'ORDER BY ',因为没定义 '$pk',所以出错……
如果我设置 $pk='field'; 那么,没提示错误了,但是用 findAll() 查询不到信息了……
有没有处理方法?我觉得这种 field value 2个字段的表用来做站点信息配置表挺不错啊……扩充性挺好,后期可以无限添加属性……
2011-04-09 17:51:42
#2 phpha
我搜索了下论坛,发现这样……
spClass('spModel')->runSql($sql);
直接执行SQL语句算了……对吧,JAKE?还有其他的方法吗?因为我感觉的确没必要设置自增字段……
2011-04-09 18:10:20
#3 jake
没有设置自增字段也是可以的,设置其中一个字段作为$pk,不清楚你设置了后为什么查不到数据。
在winblog和其他程序里面都有这样的应用,比如说多对多的关联里面,中间表就是没有主键的。
order by是始终需要一个字段作为默认设置,当然这没必要是唯一的或者是主键。
2011-04-09 23:25:04
#4 phpha
回复 3 jake 嗯,证明是可行的……
至于为什么我查询不到数据,是因为……自己的错误,模板里面遍历循环时写错了……
2011-04-11 15:29:25