请教这样的语句怎么写?

#1 enjoyit

有个文章表create table news
(
id int(8)
uid int(8),  关联user表的uid字段
cid int(8),   关联cate表的cid字段
title varchar(255)
);

分类表
create table cate
(
cid int(8)
catename varchar(255)
);


分类表
create table user
(
uid int(8)
username varchar(255)
);



现在要读文章列表,同时要显示分类名,用户名,并且分页,肯定要关联3个表
$conditions=array('cateid'=>$cateid)
spClass('newsModule')->spPager($current_page, $page_size)->findAll($conditions);

怎么弄??不会了 。。

2011-11-24 14:45:36

#2 jake

数据表关联 http://www.speedphp.com/splinker-all.html

看手册数据表关联部分 http://www.speedphp.com/manual.html

2011-11-24 14:53:06

#3 enjoyit

恩,可以解决问题,还以为speedphp没有这样的解决办法呢,以后看这个没看明白,这个功能挺强大的

我看结果sql语句好多了,如果是5条新闻,关联2个表,会查询 5*2=10次,会不会查询次数太多,有性能问题

如果是原始的3表 join 查询,一条就行

2011-11-24 17:17:29

#4 enjoyit

还有一个,分页怎么处理?

$obj->spPager($current_page, $page_size)->spLinker()->findAll($conditions);

这样好像不行啊,还是全列出来了,文档里我没找到这个

2011-11-24 17:25:24

#5 jake

还有一个,分页怎么处理?

$obj->spPager($current_page, $page_size)->spLinker()->findAll($conditions) ...
enjoyit 发表于 2011-11-24 17:25
看手册这里: http://www.speedphp.com/model-complex.html

2011-11-24 17:28:50

#6 enjoyit

看手册这里:
jake 发表于 2011-11-24 17:28
真快啊,解决了!!!感谢

2011-11-24 17:32:22

#7 enjoyit

数据表关联

看手册数据表关联部分
jake 发表于 2011-11-24 14:53
要是想按照从表的某个字段搜索,怎么弄?


主表字段我试的可以搜索

2011-11-24 20:09:40

#8 jake

看手册:http://www.speedphp.com/model-linker-limit.html
强烈建议先好好看手册

2011-11-24 20:22:02