php - Laravel 5.3 Blade foreach 循环 : show data in loop from two different database eloquent queries

标签 php mysql foreach laravel-5.3 laravel-blade

我有两张 table 。

  1. 内容类型
  2. 内容

contenttype 返回内容类型列表,我用 foreach 在页面上显示它们。例如快照中显示的救护车服务、血库、诊所等。

同时我从另一个表(内容)中获取每种类型的内容总数。

我成功地获得了每种类型的内容总数并使用 foreach 显示在 Blade ​​上。 但情况是我想显示每种内容类型的内容数量。 像这样 救护车服务 8, 血库 7, 诊所 4。 我的 Controller 方法是:

 public function index()
{
    if (Gate::allows('edit-content', auth()->user())) {
// below line returns list of content type e.g Ambulance service             

 $type = DB::table('contenttype')->distinct('label')->orderBy('label',     'asc')->paginate(10);

//below line counts the number of each content type e.g. Ambulance service 10.

$count = Content::selectRaw('type, count(*)total')->groupBy('type')->get();
return view('admin.content_listing', compact('type', 'count'));
    } else {
        abort(403, "Unauthorized");
    }
}

这是 Blade 代码:

@foreach ($count as $c)
  <span class="label label-danger">{{ $c->total }} </span>
@endforeach

输出这个红色数字列表:enter image description here

@foreach ($type as $t)
<div class="list-group-item">
<a href="{{ route('content.type.listing', $t->type  ) }}" > {{ $t->label }}
<span class=" pull-right glyphicon glyphicon-search"></span></a>
<a href="{{ route('content.add.form') }}" class="pull-right "><span class="col-md-1 glyphicon glyphicon-plus-sign"></span></a>
</div>
@endforeach

输出是:enter image description here 如果我将上面的循环放在第二个循环中,那么它当然会变成我不想要的嵌套循环。

我需要展示救护车 8, 美容诊所 8, 血库 1, 等

如果有人知道解决方案,请分享! 我尝试了不同的方法,但没有成功。

最佳答案

您是否尝试过在单个查询中执行连接,而不是创建两个查询并尝试在 View 中组合它们的结果?对您的列名做出某些假设并撇开分页,实际的 SQL 将类似于:

SELECT contenttype.*, count(content.id) FROM contenttype LEFT JOIN content ON contenttype.id = content.type GROUP BY contenttype.label ORDER BY contenttype.label ASC;

使用 Laravel 的查询构建器功能实现此查询所需的代码在 documentation 中有很好的记录。 .

关于php - Laravel 5.3 Blade foreach 循环 : show data in loop from two different database eloquent queries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42794890/

相关文章:

php - 使用js调用php

javascript - 如何将下拉列表转换为在 HTML 和 PHP 中显示搜索匹配结果的输入标记?

php - PHP 脚本中的 If 语句

php - Magento : How to get qty of a specific product in an order item?

php - 添加样式回显

php - 通过 Cron 调用函数在其中做很多事情的解决方案?

php - 如何检索 Eloquent 模型,相关模型中的字段等于 "xx"?

php - 从下拉列表中调用一个值来更新查询

php - 在 ArrayObject 中循环和取消设置时 foreach 出现意外行为。一个项目被忽略

php - foreach 循环插入所有复选框(选中和未选中)