如何在laravel中使用数组选择许多数据

时间:2017-07-27 04:19:54

标签: php laravel laravel-5 model frameworks

我的控制器

public function lemari_surat_alpha(){
    $show_dinas = dinas::all();
    $show_surat = surats::all();
    return view('frontend.daftar_surat_perdinas', compact('show_dinas','show_surat'));       
} 

this is daftar_surat_perdinas.blade.php

我不知道用数组显示许多数据以便在模型

中进行选择

2 个答案:

答案 0 :(得分:0)

查看:

 @foreach( $show_dinas as $show_dina){
     //do something
 @endforeach

答案 1 :(得分:0)

您基本上是在视图中按字母顺序对结果进行分组。为什么不先排列结果然后再显示它。

试试这个。

public function lemari_surat_alpha(){
    $show_dinas = dinas::all();

    // Uppercase alphabet keys collection
    $alphabets = collect(range('A', 'Z'))->flip();

    // Grouped results
    $results = surats::all()->groupBy(function($item) {
        return strtoupper($item->nama_surat[0]);
    });

    // Merge results with alphabets
    $show_surat = $alphabets->map(function($item, $key) use ($results) {
        return $results->has($key) ? $results->get($key) : null;
    });

    return view('frontend.daftar_surat_perdinas', compact('show_dinas','show_surat'));       
}

这将返回分组结果。喜欢这个

collection

然后您可以像这样

迭代刀片文件中的集合
@foreach ($show_surat as $alphabet => $surats)

    <div class="entry-image">
        <a href="#" class="entry-link" target="_blank">
            &nbsp;
            {{ $alphabet }}
            &nbsp;
        </a>
    </div>

    @if (is_null($surats))
        No Results
    @else
        <ul style="margin-left: 20px;">
            @foreach($surats as $surat)
                <li style="font-size: 18px;">{{ $surat->nama_surat }}</li>
            @endforeach
        </ul>
    @endif

@endforeach