【问题标题】:need to get next Task in foreach需要在 foreach 中获取下一个任务
【发布时间】:2019-04-19 10:37:10
【问题描述】:

我的 For each 返回与 URL 中相同的任务现在我需要获取下一个任务

 @foreach ($Tasks as $Task)
    @if ($Task->slug == Request::segment(5))
      <h2>{{ $Task->task_name }}</h2>
    @endif

    @if ($loop->remaining)
      <p>Next Task is: {{ $Tasks[$loop->iteration]->task_name }}</p>
    @endif
@endforeach

我在 URL 中获取任务,因此我需要在 foreach 中获取下一个任务,但它返回空 并尝试过

    @foreach ($ATask as $key => $Task)
      @if ($ATask[$key]->slug == Request::segment(5))
        <h2>{{ $Task->task_name }}</h2>
        <p>Next Task is: {{ $ATask[$key++]->task_name }}</p>

      @endif
   @endforeach

【问题讨论】:

  • 与其循环遍历所有任务,不如简单地执行 2 个查询:1 匹配第 5 个请求段,另一个查询找到任务,例如比第一个更高的 ID 或日期?那么你根本不需要做foreach。
  • 我需要在 Request::segment(5) 之后得到一个,因为我对活动任务的引用,所以我需要得到下一个

标签: php laravel loops laravel-5 foreach


【解决方案1】:

也许这个脚本可以解决你的问题:

@foreach ($Tasks as $key => $Task)
    @if ($Task->slug == Request::segment(5))
      <h2>{{ $Task->task_name }}</h2>
      <p>Next Task is: {{ $Tasks[$key+1]->task_name }}</p>
    @endif
@endforeach

希望对你有帮助。

您也可以使用$key++ 代替$key+1

【讨论】:

  • 我收到这个错误 Undefined offset: 1 (View: E:\Off Dev-College\DevCollege\resources\views\task.blade.php)
  • @KareemElsharkawy 你能转储你的$Tasks 数组吗?
  • 这次我尝试了 $Key++ 没有错误,但我得到了相同的值
  • 我得到这个错误 Undefined offset: 1 (View: E:\Off Dev-College\DevCollege\resources\views\task.blade.php)
  • @KareemElsharkawy 有用户界面,没有数组。您可以在控制器中转储您使用的数组 dd($ATasks); 函数
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-23
  • 1970-01-01
相关资源
最近更新 更多