我在我的Laravel网络应用程序里有这个:
@foreach($mentors as $mentor)
@foreach($mentor->intern as $intern)
<tr class="table-row-link" data-href="/werknemer/{!! $intern->employee->EmployeeId !!}">
<td>{{ $intern->employee->FirstName }}</td>
<td>{{ $intern->employee->LastName }}</td>
</tr>
@endforeach
@endforeach
如何检查是否有$mentors->intern->employee
?
当我这样做:
@if(count($mentors))
它不检查此内容。
8条答案
按热度按时间bbmckpt71#
要确定是否有任何结果,您可以执行以下任一操作:
注解/参考资料
第一个月
https://laravel.com/api/5.7/Illuminate/Database/Eloquent/Collection.html#method_first
https://laravel.com/api/5.7/Illuminate/Database/Eloquent/Collection.html#method_isEmpty
->count()
https://laravel.com/api/5.7/Illuminate/Database/Eloquent/Collection.html#method_count
count($mentors)
可以工作,因为Collection实现了Countable和内部count()方法:https://laravel.com/api/5.7/Illuminate/Database/Eloquent/Collection.html#method_count
isNotEmpty()
https://laravel.com/docs/5.7/collections#method-isnotempty
所以你能做的就是:
uemypmqf2#
您可以随时计算集合。例如,
$mentor->intern->count()
将返回导师有多少个实习生。https://laravel.com/docs/5.2/collections#method-count
在您的代码中,您可以执行以下操作
r7xajy2e3#
从Laravel 5.3开始,您只需使用:
Documentation https://laravel.com/docs/5.5/collections#method-isnotempty
pes8fvy94#
这是最快的方法:
其他解决方案,如
count
,做的比您需要的多一点,花费的时间稍微多一点。另外,
isEmpty()
名称非常精确地描述了您要在那里检查的内容,这样您的代码将更具可读性。p8ekf7hl5#
这是目前为止我找到的最好的解决方案。
在叶片中
在控制器中
v7pvogib6#
在
php7
中,您可以使用Null Coalesce运算符:这将返回
Null
或雇员。wtlkbnrh7#
我更喜欢
第一个月
更加有效和准确
ffscu2ro8#
首先你可以把你的集合转换成一个数组,然后运行一个如下的空方法: