获取某个字段的值:
- $User = M("User"); // 实例化User对象
- // 获取ID为3的用户的昵称
- $nickname = $User->where('id=3')->getField('nickname');
返回的nickname是一个字符串结果。也就是说,即使有满足条件的多个字段,也只会返回一个结果。sql语句中会有 limit 1;
获取某个字段列:
- $User = M("User"); // 实例化User对象
- // 获取status为1的用户的昵称列表
- $nickname = $User->where('status=1')->getField('nickname',true);
第二个参数传入了true,返回的nickname则是一个数组,包含了所有满足条件的昵称列表
如果需要限制返回结果数量,可以使用:
- $nickname = $User->where('status=1')->getField('nickname',8);
复制代码
或者
- $nickname = $User->where('status=1')->limit(8)->getField('nickname',true);
如果getField方法传入多个字段名称的话,默认返回一个关联数组,以第一个字段的值为索引(所以第一个字段要尽量选择不会重复的)。
如果传入了2个以上的字段名,则返回一个二维数组(类似select方法的返回值,区别在于索引是二维数组的键名是第一个字段的值)
如果不希望返回二维数组,可以使用连接符,例如:
- $result = $User->where('status=1')->getField('id,account,nickname',':');
复制代码
那么返回的结果则是一个索引数组,键名是id值,键值则是account:nickname连接组成的字符串。