二十二.数据的查询

$obj = D("Goods"); //创建对象
$obj ->select('主键');//获取数据表中的数据信息
select 字段,字段 from 表名 where 条件 group 字段 having 条件 order 排序 limit 限制条数

$obj->field(字段,字段);查询指定字段
$obj->table(数据表);通过具体数据表查询
$obj->where(参数); 参数就是正常sql语句where后边的条件信息
$obj->having(参数条件); having 条件设置
$obj->order('price desc/asc')排序查询
$obj->limit([偏移量,] 条数)限制查询的条数

sql语句里边具体的条件设置在tp框架model模型里边体现为具体的方法操作


以上的方法理论上是父类Model的对应的方法

父类Model具体存在方法: field() where() limit()
还有一些方法在 __call()自动调用函数里边:table() group() order() having

<b>以上的多个方法是同时使用多个条件显示(并且没有顺序要求)</b>
$obj - >limit(5)->field('id,name')->order('price asc')->table('s_goods')->select();
以上许多方法执行没有顺序要求,许多方法执行后都是把具体的参数赋予到model属性option里边,最后根据options拼装sql语句



$info = $goods->where()->field(字段)->select()
select() 方法

  • 1.返回一个二维数组信息

  • 2.返回全部数据表信息

  • 3.给该方法传递参数

  • (a)select(30)查询主键值等于30的记录信息

  • (b)select("10,12,14")查询主键值在10,20,14范围的记录信息

  • 4.find()如果我们查询的结果是有一个信息,使用select()会返回一个二维数组,为了使用方便我们会希望返回一个一维数组,这个时候可使用find()方法


5.having()方法设置查询条件,where()设置查询条件
having 和where区别

  • ①使用有先后顺序
  • ② where price>100 having price>100
  • ③where 设置条件,字段必须是数据表中存在的字段
  • ④having 设置条件,字段必须是select语句查询出来的字段可以使用
QQ截图20161005232640.png

6.相关聚合函数

count() sumb() avg() max() ming()
以上聚合函数是最后调用的方法
以上方法可以结合具体条件方法使用
例如:
<pre>
//查看记录总条数
echo $goods->count();
//获取最高价格信息
echo $goods->max('goods_price');
echo $goods->where('goods_price>1000)->count();
</pre>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容