#1 prince
有3个表:t1,t2,t3
select * from t1 left JOIN (t2,t3) ON (t2.a=t1.a AND t3.b=t1.b)
我这样表达不知道大家看不看得明白!!!!????
2012-03-04 21:56:42
#3 prince
1
// 这里我们将对留言本分析一下,归纳一下留言者名单以及各个留言者的留言总数。
2
// 首先准备SQL语句
3
$sql = "SELECT name, count(name) as gbsum FROM spgb_gb WHERE 1 GROUP BY name";
4
$gb = spClass('gb'); // 初始化留言本模型类
5
$result = $gb->findSql($sql); // 执行查找
上面是教程里提到的,但是现在有三个甚至更多的表,这个$gb=spClass('gb');只初始化一个表,现在的情况是三个表要初始化,那初始化后怎么让findSql同时得到已经初始化的三个模型(表达很乱)?
2012-03-04 22:39:55
#4 jake
是很乱。或者可能你对模型的概念不理解。表不等于模型,有些模型可能没有表的、有些表可能没有模型。模型只是对应“业务逻辑”,而findSql是一个工具。
从业务逻辑来考虑,一个业务对象对应一个模型,在模型里面,使用工具findSql来查询一个或者多个表,是“实现模型的一个业务操作”,即使这个业务涉及到多个表,但并不代表“多个模型”,“模型”是抽象概念的。
上面的spClass的确只是实例化了一个模型,而findSql是通过模型内置工具findSql的去“执行SQL”语句。不管它查找了多少个表,它都是模型的工具接口,而并非模型本身。
2012-03-04 22:44:15