关于spModel设置主键的问题

#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