【问题标题】:how to select many data with array in laravel如何在laravel中用数组选择许多数据
【发布时间】:2018-01-02 15:00:57
【问题描述】:

我的控制器

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

我不知道用数组显示很多数据以供在模型中选择

【问题讨论】:

  • 看起来不错。只是在你的 foreach 循环中,你被写为 $show_surat 为 $show_surat ...尝试将 $show_surats 更改为 $show_surat
  • 还是不行..我不知道为什么模型不能读取数组
  • 你是否从你的控制器更改了变量,因为你在那里有 var 的 show_surat 名称......如果数组不以单数命名,那不是逻辑。如果不是这样,那么使用 dd() 来检查数组结果:)
  • @Lugas Anegah 在控制器中编写您的业务逻辑并获取最终数组。使用 foreach 循环并在视图文件中打印结果。在视图文件中编写逻辑是不好的做法。
  • 集合 {#255 ▼ #items: array:6 [▶] }

标签: php laravel laravel-5 model frameworks


【解决方案1】:

查看:

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

【讨论】:

    【解决方案2】:

    您基本上是在尝试在视图中按字母顺序对结果进行分组。为什么不先整理你的结果,然后再显示呢。

    试试这个。

    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'));       
    }
    

    这将返回分组结果。像这样

    然后您可以像这样遍历刀片文件中的集合

    @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
    

    【讨论】:

    • 为 foreach() 提供的参数无效(查看:E:\Xampp\htdocs\info_surat_malang\resources\views\Frontend\daftar_surat_dinas.blade.php)
    • 对不起,我不知道这段代码是什么意思 "@foreach($show_surat as $alphabet => $surats)"
    • @LugasAnegah 你能告诉我更新代码后$show_surat 的输出是什么吗?
    • 集合 {#249 ▼ #items: array:26 [▼ "A" => null "B" => null "C" => null "D" => null "E" => null "F" => null "G" => null "H" => null "I" => Collection {#236 ▶} "J" => null "K" => null "L" => null "M " => null "N" => null "O" => null "P" => null "Q" => null "R" => null "S" => Collection {#242 ▶} "T" => null "U" => null "V" => null "W" => null "X" => null "Y" => null "Z" => null ] }
    • @LugasAnegah 输出很好。你能给我看看视图文件吗?
    猜你喜欢
    • 2021-01-12
    • 2019-01-18
    • 1970-01-01
    • 2017-01-22
    • 2011-02-01
    • 2017-12-25
    • 2021-12-15
    • 1970-01-01
    • 2022-10-16
    相关资源
    最近更新 更多