【发布时间】:2016-10-07 03:51:17
【问题描述】:
好的,所以我正在尝试获取使用集合的语法。 laravel 文档和示例现在对我来说毫无意义。没有人真正谈论收藏所以:
我有两个表格条目,一个代表地区,一个代表国家。我希望能够按地区对国家进行分组,因此不会打印重复的地区。在 php 中它是有道理的。但是在 laravel 中,我不明白它们的语法是如何工作的。
我想要这样的东西:
A区
- 国家 A
- 国家 B
- C 国
A区
- 国家 A
- 国家 B
等等等等
那么它是怎么做的呢?
这是我的控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
class SortController extends Controller
{
public function index(){
$infos = DB::table('list_countries')
->select('Region', 'Country')
->groupBy('Region')
->get();
// $sorts = DB::table('list_countries')->get();
return view('Sort', compact('infos'));
}
}
这是我的破旧刀片文件:
@extends('layout')
@section('content')
<h1>Hello</h1>
@extends('layout')
@section('content')
<h1>Hello</h1>
@foreach($infos as $sort)
<div class="checkbox">
<label>
{!! Form::checkbox('agree', 'yes') !!} {{ $sort }}
</label>
</div>
@endforeach
@stop
测试@Ray Cheng 的建议是否有效:
但是它会打印这个:
[{"Region":"Africa - North Africa","Country":"Algeria"},{"Region":"Africa - North Africa","Country":"Egypt"},{"Region" :"非洲-北非","Country":"利比亚"},{"Region":"非洲-北非","Country":"马里"},{"Region":"非洲-北非", "国家":"毛里塔尼亚"},{"地区":"非洲-北非","国家":"摩洛哥"},{"地区":"非洲-北非","国家":"尼日尔"} ,{"Region":"非洲-北非","Country":"突尼斯"},{"Region":"非洲-北非","Country":"西撒哈拉"}]
请注意,这是一个类别,groupby 正在工作,但它包括分组依据的对象。
数据库表如下所示:
【问题讨论】:
标签: php mysql collections laravel-5 group-by