我想显示一个联系人列表,按db表中的"type“列分组。我可以显示所有的联系人,但我如何显示每个“类型”以上的每一组标题?我应该使用群( groupby )还是不同的?
期望输出:
1型(如h2)
联系信息
联系信息
联系信息
类型2
联系信息
联系信息
联系信息
等等。
表结构:
类型:{##**$$}}#^etc#^etc#.
路由:
`Route::get('/contacts', function () {
$contacts = DB::table('contacts')->get();
return view('pages.contacts', ['contacts' => $contacts]);
});`
The View:
`@if(isset($contacts))
@foreach($contact as $key => $contacts)
<h2>type name</h2>
<strong>{{$contacts->name}}</strong><br>
{{$contacts->phone}}<br>
{{$contacts->url}}
@endforeach
@endif`
发布于 2018-03-07 23:24:12
尝试将联系人分解为您的控制器中的两种类型。然后把它们都传递到视野中去。看起来会是这样的:
Route::get('/contacts', function () {
$contactsType1 = DB::table('contacts')->where('type', '=', 'type1')->get();
$contactsType2 = DB::table('contacts')->where('type', '=', 'type2')->get();
return view('pages.contacts', $contactsType1, $contactsType2);
});然后,页面上将有两个for循环,每个循环相互独立:
@foreach($contactsType1 as $contact)
--- display info as needed ----
@endforeach
-----
@foreach($contactsType2 as $contact)
--- display info as needed ----
@endforeach发布于 2018-03-08 01:01:02
可以对contacts表中的所有类型进行分组,并查询每种类型
$group_types = DB::table('contacts')->select('type')->groupBy('type')->get();
@if(isset($group_types))
@foreach($group_types as $type)
@foreach(\DB::table('contacts')->where('type',$type)->get() as $contacts)
<h2>type name</h2>
<strong>{{$contacts->name}}</strong><br>
{{$contacts->phone}}<br>
{{$contacts->url}}
@endforeach
@endforeach
@endifhttps://stackoverflow.com/questions/49162128
复制相似问题