现在有两种方法可以从Laravel数据库中获取。我想知道哪个更有效率。
1。得到计数
$cnt = \App\Models\Res_Times::where(...)
->count();
if ($cnt > 0) {
$result = \App\Models\Res_Times::where(...)
->get();
}
2。直接
$result = \App\Models\Res_Times::where(...)
->get();
我不知道PHP mysql计数功能是如此之快,值得使用。
请告诉我。
答案 0 :(得分:2)
第二个更好。在第一种情况下,您构建2个查询,您将启动数据库。如果没有结果,laravel可能不会尝试加载它们。
答案 1 :(得分:1)
查看响应是否存在的更有效方法是使用exists
,因为我们在实际加载到集合之前确定查询的行是否确实存在,例如:
$result = \App\Models\Res_Times::where(...)
if ($result->exists()) {
return $result->get();
}