当前位置: 首页 > 知识库问答 >
问题:

雄辩的集合:计数和检测空

姜凯风
2023-03-14

这可能是一个无关紧要的问题,但我想知道Laravel是否推荐某种方法来检查从$result=Model::where(…)返回的有说服力的集合-

我们目前正在使用$结果检测空结果,是否足够?至于count($result),它实际上是否涵盖了所有情况,包括空结果?


共有3个答案

鄢英毅
2023-03-14

我同意上述经批准的答案。但我通常使用$results-

if($results->isNotEmpty())
{
//do something
}

它比(!results)if的更详细-

请注意,此方法从版本5.3开始就存在。

嵇弘新
2023-03-14

我想你正在寻找:

$result->isEmpty()

这与empty($result)不同,后者将不为真,因为结果将是一个空集合。您建议的count($result)也是一个很好的解决方案。我在文件中找不到任何参考资料

丁淇
2023-03-14

使用-

if (empty($result)) { }
if (!$result) { }
if ($result) { }

因为如果dd($结果);,您会注意到总是返回Illumate\Support\Collection的实例,即使没有结果。本质上,您正在检查的是$a=new stdClass; if($a){...},它将始终返回true。

要确定是否有任何结果,您可以执行以下任何操作:

if ($result->first()) { } 
if (!$result->isEmpty()) { }
if ($result->count()) { }
if (count($result)) { }

您也可以使用-

$result = Model::where(...)->first();
if ($result) { ... }

注释/参考资料

  • -

集合和查询生成器的差异可能会让Laravel的新用户有点困惑,因为两者之间的方法名称通常是相同的。因此,知道你在做什么可能会令人困惑。查询生成器本质上构建一个查询,直到您调用一个方法,在该方法中它将执行查询并命中数据库(例如,当您调用某些方法时,如-

  • Laravel 5.2系列课程
  • Laravel 5.2查询生成器

 类似资料:
  • 我正在用Laravel 5.2开发一个Web应用程序,但有一个问题我无法解决。 我有一个扩展了雄辩模型的模型,但当我试图输出带有“where”的数据库表时,例如 它返回一个包含许多信息的集合,这些信息此时对我来说无用,比如“守卫”、“键入”...我的表的数据在“属性”下。遵循laravel的指南,我看到每个人都像我一样简单地使用它,然后用

  • 我正在使用Laravel5.3,需要一些关于雄辩的模型查询的帮助。我有三个模型(UserDetails、Categories、Articles)。我在用户详细信息之间有关系- 每个关系都运行良好,即Userdetails::find(1)- 我有一种感觉,范围可能是答案,但他们似乎不工作,当我尝试它。 模型中的关系 UserDetails.php Categories.php 我研究了HasMan

  • 主要的问题是如何检测雄辩的收集结果是否为空,laravel建议如何识别这一点? 关于这件事我有两个不同的问题,也许他们之间有没有关系, 第一个: 我怎么能得到

  • 我将有一个充满涉及其他表(关系)的信息的表。此表中的大多数信息将只有引用相关表的ID。如果我使用“产品”作为此表的示例,对于某些列来说可能是这样的: 我想把这个“产品”表倒出到一个列表中。当我将其转储(关系)时,我需要查找这些列中的所有项。我知道如何做物品和物品,但是我不确定如果我有一个“产品”模型,我怎么能用雄辩的模型一次性做到这一点?我应该让产品表只是一个数据透视表吗?我可以用雄辩的模型做它,

  • 我读过laravel 4文档中关于ququent的内容,并且对push()部分很感兴趣。它说, 有时,您可能不仅希望保存模型,还希望保存其所有关系。为此,您可以使用推送方法: 保存模型和关系

  • 我有以下雄辩的模型: 用户id 邮政编码 评论| id |发布| id |用户| id 使用eloquent,如何获取特定用户尚未发表评论的所有帖子? 到目前为止,我试过: 在模范岗位: 在模型注释中: