1. 判断查询结果
在ThinkPHP中,我们通常使用查询构造器来查询数据。在查询之后,使用getResult方法来返回查询结果。但有些时候,我们需要根据查询结果来判断后续的程序流程,这时候就需要进行判断。
1.1 判断是否存在结果
有些情况下,我们只需要判断查询结果是否为空,这时候我们可以使用TP自带的isEmpty方法来判断。
$result = Db::table('user')->where('id', 1)->select();
if ($result->isEmpty()) {
echo '结果为空';
} else {
echo '结果不为空';
}
其中,isEmpty()
方法可以判断查询结果是否为空,返回值为Boolean类型。
1.2 判断存在某些记录
有时候我们只需要判断是否存在满足要求的某些记录,这时我们可以使用TP自带的exists方法。
$result = Db::table('user')->where('age', '>', 18)->exists();
if ($result) {
echo '存在年龄大于18的用户';
} else {
echo '不存在年龄大于18的用户';
}
其中,exists()
方法可以判断是否存在满足条件的记录,返回值为Boolean类型。
1.3 判断查询记录条数
有时候我们需要知道满足要求的记录条数,这时我们可以使用TP自带的count方法。
$count = Db::table('user')->where('age', '>', 18)->count();
echo '年龄大于18的用户有'.$count.'个';
其中,count()
方法可以返回满足条件的记录条数。
1.4 判断查询结果是否相同
有时候我们需要判断查询结果是否相同(比较两个查询结果是否一致),这时我们可以使用TP自带的diff方法。
$result1 = Db::table('user')->where('age', '>', 18)->select();
$result2 = Db::table('user')->where('age', '>', 18)->limit(3)->select();
$result3 = $result1->diff($result2); //返回两个结果不同的数据
if (!$result3->isEmpty()) {
echo '查询结果不同';
} else {
echo '查询结果相同';
}
其中,diff()
方法可以返回两个结果不同的数据。