如何在ThinkPHP里面使用原生的SQL查询操作
ThinkPHP内置的ORM和ActiveRecord模式实现了方便的数据存取操作,而且1.0.3新版增加的连贯操作功能更是让这个数据操作更加清晰,但是ThinkPHP仍然保留了原生的SQL查询和执行操作支持,为了满足复杂查询的需要和一些特殊的数据操作,主要包括下面两个方法:
1、query方法
query方法是用于sql查询操作,和findall一样返回数据集,但是不会写入模型类的dataList属性,也不会进行数据关联操作,例如:
$Model = new Model() // 实例化一个model对象 没有对应任何数据表
$Model->query("select * from think_user where status=1");
2、execute方法
用于更新和写入数据的sql操作,返回影响的记录数,例如:
$Model = new Model() // 实例化一个model对象 没有对应任何数据表
$Model->execute("update think_user set name='thinkPHP' where status=1");
ThinkPHP内置的ORM和ActiveRecord模式实现了方便的数据存取操作,而且1.0.3新版增加的连贯操作功能更是让这个数据操作更加清晰,但是ThinkPHP仍然保留了原生的SQL查询和执行操作支持,为了满足复杂查询的需要和一些特殊的数据操作,主要包括下面两个方法:
1、query方法
query方法是用于sql查询操作,和findall一样返回数据集,但是不会写入模型类的dataList属性,也不会进行数据关联操作,例如:
$Model = new Model() // 实例化一个model对象 没有对应任何数据表
$Model->query("select * from think_user where status=1");
2、execute方法
用于更新和写入数据的sql操作,返回影响的记录数,例如:
$Model = new Model() // 实例化一个model对象 没有对应任何数据表
$Model->execute("update think_user set name='thinkPHP' where status=1");