首页 > 解决方案 > 如何在laravel中创建从mysql数据库中检索到的一行2个项目

问题描述

所以我正在处理我的投资组合页面。我将所有项目都输入了 mysql 数据库。我可以取回数据并将它们呈现到我网页上的单独行中,但我希望在网页的每一行中呈现两个项目(即在每个新行中呈现两个 mysql 行数据)。

我一直无法弄清楚如何做到这一点。

这是我的刀片

@extends('layouts.master')
@section('content')

{{-- Search --}}
{{-- <div class="container">
        <div class="col-md-6 text-right">
                <form action=" {{ route('projects.postSearch') }} " method="get" class="form-inline">
                        <div class="input-group">
                        <input type="search" class="form-control" name="search" placeholder="search contacts">
                        </div>
                        <div class="input-group-prepend" style="margin-top:20px;">
                                <button class="btn btn-primary" type="submit">Search</button>
                        </div>
                </form>
        </div>
</div> --}}

{{-- All Projects --}}

<div class="containter">
    <div style="align-content: center; margin-left: 10%">
    @foreach ($projects as $key => $value)
        <div class="row" style="align-content:center">
            <div class="col-sm-12 col-md-6 col-lg-4">
                <div class="row" style="align-items-center">
                    <h3 class="col">{{$value->projectName}}</h3>
                </div>
                <div class="row" style="align-items-center">
                    <div class="col"><a href="{{$value->url}}"><img src="assets/img/{{$value->img}}" style="width: 200%"></div>
                </div>
                <div class="row">
                        <p class="col">{{$value->description}}</p>
                        <p class="col">{{$value->keywords}}</p>
                        <a href="{{$value->github}}"><img src="{{asset('/assets/img/githublogo.gif')}}" style="width: 50%">
                </div>
            </div>
        </div>
        @endforeach
    </div>
    {{-- {{ $projects->links() }} --}}
</div>

@endsection

这是我的这个刀片的控制器代码

    public function index()
    {
        $projects = Projects::orderBy('ranking')->paginate(10);
        return view('projects.index', ['projects' => $projects]);
    }

谢谢您的帮助

标签: phpmysqllaravelfor-loopforeach

解决方案


您可以chunk通过 2 个元素来收集您的收藏,以获得您想要实现的目标:

@foreach($projects->chunk(2) as $chunk)
    <div class="row" style="align-content:center">
        @foreach ($chunk as $key => $value)
            <div class="col-sm-12 col-md-6 col-lg-4">
                <div class="row" style="align-items-center">
                    <h3 class="col">{{$value->projectName}}</h3>
                </div>
                <div class="row" style="align-items-center">
                    <div class="col"><a href="{{$value->url}}"><img src="assets/img/{{$value->img}}"
                                                                    style="width: 200%"></div>
                </div>
                <div class="row">
                    <p class="col">{{$value->description}}</p>
                    <p class="col">{{$value->keywords}}</p>
                    <a href="{{$value->github}}"><img src="{{asset('/assets/img/githublogo.gif')}}"
                                                      style="width: 50%"></a>
                </div>
            </div>
        @endforeach
    </div>
@endforeach

推荐阅读