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

发表评论