在blade template中,我使用last()方法查找foreach循环的最后一次迭代:

@foreach ($colors as $k => $v)
   <option value={!! $v->id !!} {{ $colors->last()->id==$v->id ? 'selected':'' }} > {!! $v->name !!} </option>
@endforeach

Is it ok? Perhaps there is a Laravel-style way to do the same?

推荐答案

对于Laravel 5.3+,可以使用$loop变量

$loop->last

@foreach ($colors as $k => $v)
     @if($loop->last)
         // at last loop, code here
     @endif
@endforeach

Laravel相关问答推荐

Laravel 联合和分页

Laravel phpunit 测试失败并出现 PDOException:SQLSTATE[HY000]:一般错误:1 接近0:语法错误

如何在 laravel 5.8 中显示自定义消息?

laravel Eloquent 模型更新事件未触发

Laravel & Docker:无法打开流或文件/var/www/html/storage/logs/laravel.log:无法打开流:权限被拒绝

Laravel Blade:@stop VS @show VS @endsection VS @append

从 Laravel Session 数组中删除项目

如何对有序的has many关系进行分页?

如何在同一行显示 Laravel artisan 命令输出?

Laravel 判断约束违规

如何在 laravel 中解码 Json 对象并在 laravel 中应用 foreach 循环

Laravel 5.1-5.8 中以前的路由名称

Laravel:命令未找到

WhereHas Laravel 中的关系计数条件是什么

判断输入是否来自控制台

laravel 队列 - 同步驱动程序如何工作?它是在单独的进程/线程还是主执行线程中执行?

Laravel 隐藏属性.例如密码 - 安全

Laravel/PHPUnit:断言 json 元素存在而不定义值

Laravel 如何在 Eloquent 模型中添加自定义函数?

Laravel 迁移 - 在表中添加判断约束