TP的模型的默认情况是一个数据表对应一个Model类
如果你的模型是没有确定的数据表可以对应(或者说需要操作多个数据表),在这种情况下,应该如何创建模型呢?
其实,TP提供了一个机制来解决这样的问题,尤其是你需要经常使用原生SQL的时候,这个机制会非常有帮助。
下面来看一段代码:
$Model = new Model(); $list = $Model->query('select * from think_user where status=1');
当我们直接实例化Model基类的时候,是不会进行任何数据库的连接的,也不会缓存任何数据表的字段信息,所以这个模型更加纯净一点,开销也相当比较小。
当然,并不是说,在这种方式下就只能使用原生查询,你可以很好的利用新版的连贯操作功能来查询数据。例如:代码:
$Model = D(); // 和上面的new Model()等效 // TP的连贯操作的优势之一就是可以动态设置要查询的数据表 $list = $Model->field('id,name')->table('think_user')->where('status=1')->findall();
以上的数据库连接信息都是在项目配置文件里面设置的,大家还可以结合TP的多数据库连接设置的知识来使用。
已有0条评论