这可能是一个无关紧要的问题,但我想知道Laravel是否推荐某种方法来检查从$result=Model::where(…)返回的有说服力的集合-
我们目前正在使用
$结果
检测空结果,是否足够?至于count($result)
,它实际上是否涵盖了所有情况,包括空结果?
我同意上述经批准的答案。但我通常使用$results-
if($results->isNotEmpty())
{
//do something
}
它比(!results)if的
更详细-
请注意,此方法从版本5.3开始就存在。
我想你正在寻找:
$result->isEmpty()
这与empty($result)
不同,后者将不为真,因为结果将是一个空集合。您建议的count($result)
也是一个很好的解决方案。我在文件中找不到任何参考资料
使用-
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,如何获取特定用户尚未发表评论的所有帖子? 到目前为止,我试过: 在模范岗位: 在模型注释中: