2016-10-07 2 views
0

좋아요, 그래서 컬렉션을 사용하기위한 구문을 얻으려고합니다. laravel 문서 및 예제는 지금 당장 나에게 이해가 가지 않습니다. 아무도 정말 컬렉션에 대해 이야기하지 않습니다.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 쳉의 조언이 작동합니다

는 그러나이 인쇄 :

[ "지역": "아프리카 - 북 아프리카", "국가": "알제리아"}, { "지역": "아프리카 - 북 아프리카 아프리카 ","국가 ":"리비아 ","국가 ":"이집트 "}, {"지역 ":"아프리카 - 북아프리카 "," 말리 "}, {"지역 ":"아프리카 - 북아프리카 ","국가 ":"모리타니아 "}, {"지역 ":"아프리카 - 북아프리카 ","국가 ":"모로코 "}, {" : "아프리카 - 북아프리카", "국가": "니제르"}, { "지역": "아프리카 - 북아프리카", "국가": "튀니지"}, { "지역": "아프리카 - 북 아프리카" "Country": "Western Sahara"}]

이것은 하나의 카테고리이며 groupby는 작동하지만 그룹화 대상에 포함됩니다.

데이터베이스 테이블은 다음과 같습니다

Database tables

답변

1

당신이해야 할 것은 사용 수집 기능 groupBy입니다 : 이것은 참으로

$infos = DB::table('list_countries') 
     ->select('Region', 'Country') 
     ->get() 
     ->groupBy('Region') 
     ->toArray(); 
+0

작동합니까! 그러나 뷰에 대한 배열은이 영역을 고유 한 인스턴스로 만들지는 않습니다. 그룹을 그룹화하면됩니다. 그 그룹의 이름은 groupBy가 단일 인스턴스와 항목을 인쇄합니다. 또한 블레이드의 배열 요소를 어떻게 호출합니까? {{$ info-> Region}}이 (가) 오류를 발생시킵니다. – Mugluck

+0

@mugluck 나에게 결과를 더 잘 첨부하거나 결과가 잘못되었음을 알 수 없음 –

+0

요청을 표시하기 위해 메인 포스트를 편집했습니다. @Ray Cheng – Mugluck