获取字段值:value( )字段值针对单条记录才有意义,如果返回多个记录,仅获取第一个记录的指定字段值
1. 说明该方法原型来自于数据库查询,官方手册只给出value方法的一种使用方法。本节课我们给出其它几种使用方法,其实大家也都见过,并不陌生。下面我们就直接用实例来演示吧
2. 实例演示任务:获取tp5_staff表中,id=1009的员工姓名模型:/application/index/model/Staff.php<?php
namespace app\index\model;//导入模型类use think\model;class Staff extends model {//自定义模型类代码}
控制器: /application/index/controller/Index.php
我们给出三种实现方式,除第一种外,其它二种官方手册中并未提及
一、模型静态调用【数据库查询方法】实现:<?phpnamespace app\index\controller;//导入模型类use app\index\model\Staff;class Index { public function index(){ //模型静态调用【数据库查询方法】
$data = Staff::where('id',1010)->value('name');
//查看结果
dump($data);
}
}
二、模型对象调用:<?phpnamespace app\index\controller;//导入模型类use app\index\model\Staff;class Index { public function index(){ //模型对象调用数据库查询方式:此写法省去了对象变量名称
$data = (new Staff)->where('id',1010)->value('name');
//查看结果
dump($data);
}
}
三、模型静态调用【模型方法】实现:<?phpnamespace app\index\controller;//导入模型类use app\index\model\Staff;class Index { public function index(){ //模型静态调用【模型查询方法】
$data = Staff::get(1010)->getData('name'); //查看结果
dump($data);
}
}以上三种方法,查询结果是一样的:string(9) "欧阳峰"我们再看一下数据表中的数据,以验证结果:
3. 总结:不管是采用数据库查询方法,还是模型查询方法,其底层实现都是一样:最终都是通过数据库Query类来实现的。