热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Laravel检查集合是否为空-Laravelcheckifcollectionisempty

IvegotthisinmyLaravelwebapp:我在Laravelwebapp中得到了这个:@foreach($mentorsas$mentor)@fore

I've got this in my Laravel webapp:

我在Laravel webapp中得到了这个:

@foreach($mentors as $mentor)
    @foreach($mentor->intern as $intern)
        
            {{ $intern->employee->FirstName }}
            {{  $intern->employee->LastName }}
        
    @endforeach
@endforeach

How could I check if there are any $mentors->intern->employee ?

我怎么能检查是否有任何$ mentors-> intern-> employee?

When I do :

当我做 :

@if(count($mentors))

It does not check for that.

它没有检查。

5 个解决方案

#1


10  

You can always count the collection. For example $mentor->intern->count() will return how many intern does a mentor have.

您可以随时统计该集合。例如$ mentor-> intern-> count()将返回导师有多少实习生。

https://laravel.com/docs/5.2/collections#method-count

https://laravel.com/docs/5.2/collections#method-count

In your code you can do something like this

在你的代码中你可以做这样的事情

foreach($mentors as $mentor)
    @if($mentor->intern->count() > 0)
    @foreach($mentor->intern as $intern)
        
            {{ $intern->employee->FirstName }}
            {{  $intern->employee->LastName }}
        
    @endforeach
    @else
        Mentor don't have any intern
    @endif
@endforeach

#2


33  

To determine if there are any results you can do any of the following:

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

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

Notes / References

备注/参考

->first()

- >第一()

http://laravel.com/api/5.2/Illuminate/Database/Eloquent/Collection.html#method_first

http://laravel.com/api/5.2/Illuminate/Database/Eloquent/Collection.html#method_first

isEmpty() http://laravel.com/api/5.2/Illuminate/Database/Eloquent/Collection.html#method_isEmpty

isEmpty()http://laravel.com/api/5.2/Illuminate/Database/Eloquent/Collection.html#method_isEmpty

->count()

- >计数()

http://laravel.com/api/5.2/Illuminate/Database/Eloquent/Collection.html#method_count

http://laravel.com/api/5.2/Illuminate/Database/Eloquent/Collection.html#method_count

count($mentors) works because the Collection implements Countable and an internal count() method:

count($ mentors)有效,因为Collection实现了Countable和一个内部count()方法:

http://laravel.com/api/5.2/Illuminate/Database/Eloquent/Collection.html#method_count

http://laravel.com/api/5.2/Illuminate/Database/Eloquent/Collection.html#method_count

So what you can do is :

所以你能做的是:

if (!$mentors->intern->employee->isEmpty()) { }

#3


11  

Starting from Laravel 5.3 you can simply use :

从Laravel 5.3开始,您可以简单地使用:

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

Documentation https://laravel.com/docs/5.5/collections#method-isnotempty

文档https://laravel.com/docs/5.5/collections#method-isnotempty

#4


5  

This is the fastest way:

这是最快的方法:

if ($coll->isEmpty()) {...}

Other solutions like count do a bit more than you need which costs slightly more time.

像count这样的其他解决方案比你需要的多一点,这需要花费更多的时间。

Plus, the isEmpty() name quite precisely describes what you want to check there so your code will be more readable.

另外,isEmpty()名称非常准确地描述了您要检查的内容,因此您的代码将更具可读性。

#5


0  

I prefer

我更喜欢

(!$mentor)

(!$导师)

Is more effective and accurate

更有效和准确


推荐阅读
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
author-avatar
1076263105_69ae53
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有