【问题标题】:Laravel get two value array count from controller in javascriptLaravel从javascript中的控制器获取两个值数组计数
【发布时间】:2018-02-16 14:23:26
【问题描述】:

我有一个查询,如果性别=“mal”和“female”,则允许使用条件计算计数。

$users[] =  User:: whereIn('gender',array('mal', 'female'))->count()->get();
return view('/',compact('users[]'));

这些计数显示在条形图中

function drawStacked() {
var genders[] = {{ $users[] }}
var data = google.visualization.arrayToDataTable([
    ['Element', '', { role: 'style' }, { role: 'annotation' } ],
    ['Mal', '#000', genders[0]],
    ['Female', '#000', genders[1]],
 ]);
}

但他只向我显示性别计数ma​​l

【问题讨论】:

  • 我认为你不明白 whereIn 的作用。您只会得到一个集合,然后会被计算在内。

标签: javascript json laravel charts highcharts


【解决方案1】:

你需要执行两个查询:

$maleCount = User::where('gender', 'male')->count();
$femaleCount = User::where('gender', 'female')->count();
return view('/', compact('maleCount', 'femaleCount'));

【讨论】:

    【解决方案2】:

    这对于 Alexey Mezenin 的解决方案来说非常好,但我想重新组合到一个 where 并返回数组并在 javascript 中显示它,例如:genders[0] for mal and genders[1] for female

    【讨论】:

      【解决方案3】:

      您只需将 Alexey 解决方案的结果放入如下数组中:

      $counts = [
          'male' => User::where('gender', 'male')->count(),
          'female' => User::where('gender', 'female')->count()
      ];
      
      return view('/', compact('counts'));
      

      然后你可以在你的视图中访问它们:

      $counts['male']
      // or
      $counts['female']
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-08-27
        • 2019-08-12
        • 2020-10-20
        • 1970-01-01
        • 1970-01-01
        • 2020-01-08
        • 2021-01-16
        • 2018-03-16
        相关资源
        最近更新 更多