查询单个数据

特殊声明: 文中的数据库查询方式都采用不带数据库前缀的方式。如果需要开启数据库前缀请设置:prefix 参数

find 方法

// 其中 user 为数据库表名。采用 find 方式只会返回一条数据
Db::name('user')->where('id', 1)->find();

// 上面代码最终生成的 sql 语句
SELECT * FROM `think_user` WHERE  `id` = 1 LIMIT 1

find 方法查询结果,不存在返回 null,存在返回结果数组

  1. 如果希望查询数据不存在的时候返回空数组,可以使用
// table 方法必须指定完整的数据表名
Db::table('think_user')->where('id', 1)->findOrEmpty();
  1. 如果希望在没有找到数据后抛出异常可以使用
Db::table('think_user')->where('id', 1)->findOrFail();

查询数据集

select 方法

  1. 查询多个数据(数据集)使用 select 方法
// 其中 user 为数据库表名。采用 select 方式只会返回多条数据
$list = Db::table('user')->where('status', 1)->select();

foreach ($list as $user) {
    echo $user['name'];
}

// 上面代码最终生成的 sql 语句
SELECT * FROM `think_user` WHERE `status` = 1
  1. 将 select 查询对象转为二维数组
$list = Db::table('think_user')->where('status', 1)->select()->toArray();

foreach ($list as $user) {
    echo $user['name'];
}

查询某个字段的值

// 返回某个字段的值
Db::table('think_user')->where('id', 1)->value('name');

查询某一列的值

// 返回数组
Db::table('think_user')->where('status',1)->column('name');
// 指定 id 字段的值作为索引
Db::table('think_user')->where('status',1)->column('name', 'id');