【问题标题】:Foreach only return first valueForeach 只返回第一个值
【发布时间】:2019-03-22 18:48:38
【问题描述】:

不知道为什么它没有得到所有的价值 在我看来

<?php $sum_selfmark =0?>
  @foreach
      ($criteria_criteriamarks as $criteria_criteriamark)

      SelfMark:{{$criteria_criteriamark->selfmark}}
      <?php $sum_selfmark+= $criteria_criteriamark->selfmark ?>

  @endforeach
      <p>Total:{{$sum_selfmark}}</p>

在我的控制器中

 public function go_to_self_marking($id){
    $criteria=Criteria::find($id);
    $criteria_criteriamarks =$criteria->criteriamarks;
    return view('criterias/self-marking')
    ->with('criteria_criteriamarks',$criteria_criteriamarks);
    }

【问题讨论】:

  • 这是因为您使用的是findfind 方法只返回 1 行。

标签: laravel foreach


【解决方案1】:

您正在尝试为每个 1 行。因为$criteria=Criteria::find($id); 只返回 1 行。

如果你想为每个然后使用$criteria=Criteria::all();它将返回你的标准表中的所有行。

【讨论】:

  • 太棒了!继续编码。
【解决方案2】:

首先,您是否尝试过死并转储(dd)$criteria->criteriamarks?这样我们就可以检查您的循环发生了什么。

似乎@foreach 循环没有问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-22
    • 2016-06-03
    • 1970-01-01
    • 2020-11-20
    • 2014-07-05
    • 1970-01-01
    相关资源
    最近更新 更多