これでコレクションを使用するための構文を取得しようとしています。ララベルのドキュメンテーションとサンプルはちょうど今私にとって意味をなさない。誰もコレクションについて本当に話しているわけではありません。Laravelコレクションを使用して重複するテーブルエントリをグループ化する
私は、地域用と国用の2つのテーブルエントリを持っています。私は地域ごとにグループのように何かできるようにしたいので、重複した地域は印刷されていません。 PHPでそれは意味をなさない。しかし、ラーベルでは、構文がどのように働くのか分かりません。
リージョン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"}]
これは1つのカテゴリで、groupbyは機能していますが、グループ化しているオブジェクトも含まれています。
データベーステーブルは次のようになります。
これが実際に動作しません!しかし、ビューの配列は、領域を一意のインスタンスにするわけではなく、単にそれをグループ化します(それは呼び出されたものです)。しかし、私はグループの印象の下にありました。 また、ブレードの配列要素をどのように呼び出すことができますか? {{$ info-> Region}}でエラーが表示されます。 – Mugluck
@mugluckあなたは私に結果を添付することをお勧めします。結果が間違っているかどうかわかりません –
あなたの要求を示すためにメインポストを編集しました。 @Ray Cheng – Mugluck