Laravel 5中数据库无数据时如何在HTML表格显示‘数据未找到’
嘿,我来帮你搞定这个表格空数据提示的问题!
你当前的判断条件@if($candidateskill != '')其实不太合适——因为Laravel从数据库查询返回的结果,哪怕没有数据,也是一个空集合,不是空字符串,所以这个判断可能不会触发预期的效果。
给你个更靠谱的解决方案,用Laravel集合自带的isEmpty()方法来判断数据是否为空,同时在空数据时添加一行跨列的提示:
<table> <!-- 先保留你的表头部分,如果有的话 --> <thead> <tr> <th>Skill Name</th> <th>你原来的第二列标题</th> </tr> </thead> <tbody> <!-- 判断集合是否为空 --> @if($candidateskill->isEmpty()) <tr> <!-- colspan的值要和你表格的列数一致,比如这里是2列就写2 --> <td colspan="2" align="center">Data is not found</td> </tr> @else <!-- 有数据时正常循环渲染行 --> @foreach($candidateskill as $getData) <tr> <td>{{ $getData->SKILL_NAME }}</td> <td align="center">{{ $getData->... }}</td> </tr> @endforeach @endif </tbody> </table>
几个关键点说明:
isEmpty()是Laravel集合的原生方法,专门用来检测集合是否没有数据,比判断空字符串精准得多。colspan属性一定要设置成你表格实际的列数,这样提示文本才能铺满整个表格宽度,看起来更美观。- 如果你的
$candidateskill是通过Eloquent查询(比如CandidateSkill::where(...))得到的,那它肯定是集合类型,直接用isEmpty()就没问题;万一它可能是null,可以改成@if(empty($candidateskill) || $candidateskill->isEmpty())来兼容这种情况。
内容的提问来源于stack exchange,提问作者hendraspt
相关产品推荐
相关产品推荐

