每次写代码分不清getField到底该怎么用 做个笔记以后再忘记的话拿出来看
获取某个字段值
$user = M('users')
->where(['last_login_ip' => '127.0.0.1'])
->getField('id');
打印结果:
string '1' (length=1)
# 注返回的id是一个字符串结果。也就是说,即使有满足条件的多个字段,也只会返回一个结果。
获取某个字段列
$user = M('users')
->where(['last_login_ip' => '127.0.0.1'])
->getField('id',true);
打印结果:
array (size=9)
0 => string '1' (length=1)
1 => string '10000' (length=5)
2 => string '10001' (length=5)
3 => string '10042' (length=5)
4 => string '10045' (length=5)
5 => string '10014' (length=5)
6 => string '10017' (length=5)
7 => string '10044' (length=5)
8 => string '10046' (length=5)
第二个参数传入了true,返回的id则是一个数组,包含了所有满足条件的昵称列表。
# 如果需要限制返回结果数量,可以使用:
$user = M('users')
->where(['last_login_ip' => '127.0.0.1'])
->getField('id',3);
打印结果:
array (size=3)
0 => string '1' (length=1)
1 => string '10000' (length=5)
2 => string '10001' (length=5)
# 或者
$user = M('users')
->where(['last_login_ip' => '127.0.0.1'])
->limit(5)
->getField('id',true);
打印结果:
array (size=5)
0 => string '1' (length=1)
1 => string '10000' (length=5)
2 => string '10001' (length=5)
3 => string '10042' (length=5)
4 => string '10045' (length=5)
获取2个字段列表
$user = M('users')
->where(['last_login_ip' => '127.0.0.1'])
->getField('id,birthday');
打印结果:
array (size=9)
1 => string '2000-01-01' (length=10)
10000 => string '1978-09-20' (length=10)
10001 => string '2000-01-01' (length=10)
10042 => string '2000-01-01' (length=10)
10045 => string '2000-01-01' (length=10)
10014 => string '2000-01-01' (length=10)
10017 => string '2000-01-01' (length=10)
10044 => string '2000-01-01' (length=10)
10046 => string '2000-01-01' (length=10)
# 注 如果getField方法传入多个字段名称的话,默认返回一个关联数组,以第一个字段的值为索引(所以第一个字段要尽量选择不会重复的)。
获取多个字段列表
$user = M('users')
->where(['last_login_ip' => '127.0.0.1'])
->getField('id,birthday,sex');
打印结果:
array (size=9)
1 =>
array (size=3)
'id' => string '1' (length=1)
'birthday' => string '2000-01-01' (length=10)
'sex' => string '1' (length=1)
10000 =>
array (size=3)
'id' => string '10000' (length=5)
'birthday' => string '1978-09-20' (length=10)
'sex' => string '1' (length=1)
10001 =>
array (size=3)
'id' => string '10001' (length=5)
'birthday' => string '2000-01-01' (length=10)
'sex' => string '2' (length=1)
10042 =>
array (size=3)
'id' => string '10042' (length=5)
'birthday' => string '2000-01-01' (length=10)
'sex' => string '1' (length=1)
10045 =>
array (size=3)
'id' => string '10045' (length=5)
'birthday' => string '2000-01-01' (length=10)
'sex' => string '1' (length=1)
10014 =>
array (size=3)
'id' => string '10014' (length=5)
'birthday' => string '2000-01-01' (length=10)
'sex' => string '1' (length=1)
10017 =>
array (size=3)
'id' => string '10017' (length=5)
'birthday' => string '2000-01-01' (length=10)
'sex' => string '1' (length=1)
10044 =>
array (size=3)
'id' => string '10044' (length=5)
'birthday' => string '2000-01-01' (length=10)
'sex' => string '1' (length=1)
10046 =>
array (size=3)
'id' => string '10046' (length=5)
'birthday' => string '2000-01-01' (length=10)
'sex' => string '1' (length=1)
#注 如果传入了2个以上的字段名,则返回一个二维数组(类似select方法的返回值,区别在于索引是二维数组的键名是第一个字段的值)
这篇博客详细总结了ThinkPHP3.2的getField方法,包括如何获取单个字段值、字段列、两个及多个字段列表,并指出该方法可与where、limit、order等连贯操作结合使用。
901

被折叠的 条评论
为什么被折叠?



