thinkphp6 toArray()
文章描述:
thinkphp6用find()查询信息toArray报错
这里 find 如果查询到就返回查询到的对象,如果没有查询到返回【null】
$user = (new UserModel())->where('id','=',10)->find();
如果值不存在
$user = (new UserModel())->where('id','=',10)->find()->toArray();
报错:Call to a member function toArray() on null 因为【find】如果没有查询到,返回的是【null】,而 NULL 是没有办法 toArray() 的。
正确用法
$user = (new UserModel())->where('id','=',10)->find();
$user = $user ? $user->toArray() : null;
如果查询不存在返回空对象,可以使用【findOrEmpty】
$user = (new UserModel())->where('id','=',10)->findOrEmpty();
这里如果没有查询到返回的就是空对象,就可以使用 toArray():
value 指定返回值
在查询一条数据时,可以使用 value 指定返回值内容,例如如下代码:
$res=Db::table('user')->where('id', 1)->value('name');
结果:小兔子
column 指定返回值
在单条数据时我们可以使用 value 返回指定内容,但是在多条数据时怎么办呢?此时可以使用 column 指定多条数据返回值的内容,例如如下代码:
$res=Db::table('user')->where('age', 18)->column('name','nickname');
结果:Array ( [123] => 小兔子 )
发布时间:2023/12/27
发表评论