【问题标题】:Insert each array value into new line in Laravel Blade view在 Laravel Blade 视图中将每个数组值插入新行
【发布时间】:2017-12-26 05:20:20
【问题描述】:

现在,当我拥有排序和计数的数组时,我想在刀片模板上显示结果。页面是这样的

@foreach($best as $info)
    <li class="list-group-item">
        <div class="row">
             <div class="col-md-2 col-xs-12">
               <span class="col-xs-6 "><strong>User Number:</strong></span> {{ $info->user_id }}
             </div>
             <div class="col-md-3 col-xs-12">
                 <span class="col-xs-6">Username:</span> {{ $info->username }} 
             </div>
             <div class="col-md-3">
                 <span class="col-xs-6">Points:</span>
                    @foreach($sums as $value => $sum) 
                         {{$sum}} 
                    @endforeach
             </div>
        </div>
    </li>
@endforeach

在控制器中没有什么花哨的:

$best = Users::all();
$sums = array_count_values($product_ids);

return View::make('users.statistics', [
        'best' => $best,
        'sums' => $sums
]);

有问题的部分是刀片中的这个

<div class="col-md-3">
    <span class="col-xs-6">Points:</span>
        @foreach($sums as $value => $sum) 
            {{$sum}} 
        @endforeach
</div>

如果我有两个用户,我应该得到像

这样的输出
User Number       Username         Points
    1               user1            10
    2               user2            11 

因为第二次 foreach 我得到了(注意点列

User Number       Username         Points

    1               user1           10 11
    2               user2           10 11

有没有办法管理它自己行上的每个点

var_dump($product_ids);
array(5) { 
    [0]=> int(2) 
    [1]=> int(1) 
    [2]=> int(1) 
    [3]=> int(1) 
    [4]=> int(1) 
}

【问题讨论】:

  • 你能展示一下你的 $product_ids 数组的样子吗?
  • 我已经更新了问题。基本上这些是用户的 ID。
  • 我已经更新了我的答案。使用 $info->user_id 而不是 $key。

标签: laravel laravel-4 laravel-blade


【解决方案1】:

你可以试试这样的:

@foreach($best as $info)
    <li class="list-group-item">
        <div class="row">
             <div class="col-md-2 col-xs-12">
               <span class="col-xs-6 "><strong>User Number:</strong></span> {{ $info->user_id }}
             </div>
             <div class="col-md-3 col-xs-12">
                 <span class="col-xs-6">Username:</span> {{ $info->username }} 
             </div>
             <div class="col-md-3">
                 <span class="col-xs-6">Points:</span>
                    {{$sums[$info->user_id]}} 
             </div>
        </div>
    </li>
@endforeach

您正在使用名为array_count_values 的方法。这会计算数组的所有值。

我猜$products_ids 是一个包含用户 ID 的数组。
因此,如果您的 $products_ids 看起来像:

array(1,2,1,3,4,4)

array_count_values() 将返回类似:

[user_id] => int(number_of_times_that_user_id_appear)

所以:

array(4) { 
   [1]=> int(2)
   [2]=> int(1) 
   [3]=> int(1) 
   [4]=> int(2) 
}

所以用户12分,用户21分,用户3 有 1 分,用户 42 分。

更多关于函数的文档在这里:http://php.net/manual/en/function.array-count-values.php

【讨论】:

  • 我有ErrorException: Undefined variable: key
  • 好的,这行得通。你能给我解释一下吗?抱歉,我不确定我是否理解。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-11
  • 1970-01-01
  • 2021-12-12
  • 1970-01-01
  • 2018-06-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多