Как создать строку из 2 элементов, извлеченных из базы данных mysql в laravel - PullRequest
1 голос
/ 04 мая 2020

Итак, я работаю над страницей своего портфолио. Все мои проекты занесены в базу данных mysql. Я могу вернуть данные и поместить их для отображения в отдельных строках на моей веб-странице, но я хочу, чтобы в каждой строке отображалось два проекта (ie две mysql строки данных отображаются в каждой новой строке).

Я не смог понять, как это сделать sh.

Вот мой блейд

@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]);
    }

Спасибо за помощь

Ответы [ 2 ]

0 голосов
/ 04 мая 2020

Колы должны существовать внутри строки:

<div class="row>
    <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>
0 голосов
/ 04 мая 2020

Вы можете 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
...