为了账号安全,请及时绑定邮箱和手机立即绑定

如何用foreach制作几行?

如何用foreach制作几行?

PHP
一只甜甜圈 2021-12-03 18:56:30
我正在使用 Laravel 5.8,在我的控制器中,我显示了 4 个元素paginate():public function index(){    $proyects = Proyect::latest()->paginate(4);    return view('proyect.index', compact('proyects'));}在视图中,4 个元素在一行中,但我想为每行显示 2 个元素。<div class="row"><div class="col-10 col-lg-12 col-md-6">    <div class="card-deck">        @forelse($proyects as $proyect)        <div class="card">            <div class="card-body">                <h5 class="card-title">{{ $proyect->title }}</h5>                <h6 class="card-subtitle mb-2 text-muted">                 {{ $proyect->descripcion }}</h6>                <p class="card-text">You can use the cap image as an                     overlay for the body</p>                <a href="{{ route('proyect.show', $proyect) }}"                     class="card-link">Ver mas</a>            </div>            <div class="card-footer">                <small class="text-muted">                 {{ $proyect->created_at->diffForHumans() }}</small>            </div>        </div>        @empty        <li> Empty </li>        @endforelse    </div></div>如何每行显示 2 个项目而不是一行中的所有项目?
查看完整描述

2 回答

?
森栏

TA贡献1810条经验 获得超5个赞

public function index()

{

    $proyects = Proyect::latest()->paginate(10);

    return view('proyect.index', compact('proyects'));

}

array_chunk 是一个 php 函数,可以拼接你的数组。


@forelse(array_chunk($proyects->all(),2) as $rows)

    <div class="row">

        @foreach($rows as $proyect)

            <div class="col-10 col-lg-12 col-md-6">

                <div class="card-deck">

                    <div class="card">

                        <div class="card-body">

                            <h5 class="card-title">{{ $proyect->title }}</h5>

                            <h6 class="card-subtitle mb-2 text-muted">{{ $proyect->descripcion }}</h6>

                            <p class="card-text">You can use the cap image as overlay for the body</p>

                            <a href="{{ route('proyect.show', $proyect) }}" class="card-link">Ver mas</a>

                        </div>

                        <div class="card-footer">

                            <small class="text-muted">{{ $proyect->created_at->diffForHumans() }}</small>

                        </div>

                    </div>

                </div>

            </div>

        @endforeach

    </div>

    @empty

    <div>Empty ...</div>

@endforelse


查看完整回答
反对 回复 2021-12-03
?
临摹微笑

TA贡献1982条经验 获得超2个赞

可能这是您的解决方案:



<div class="row">

@forelse($proyects as $proyect)

<div class="col-6 col-lg-6 col-md-6">

    <div class="card-deck">



        <div class="card">

            <div class="card-body">

                <h5 class="card-title">{{ $proyect->title }}</h5>

                <h6 class="card-subtitle mb-2 text-muted">

                 {{ $proyect->descripcion }}</h6>

                <p class="card-text">You can use the cap image as an 

                    overlay for the body</p>

                <a href="{{ route('proyect.show', $proyect) }}" 

                    class="card-link">Ver mas</a>

            </div>

            <div class="card-footer">

                <small class="text-muted">

                 {{ $proyect->created_at->diffForHumans() }}</small>

            </div>

        </div>


        @empty


        <li> Empty </li>



    </div>

@endforelse

</div>


查看完整回答
反对 回复 2021-12-03
  • 2 回答
  • 0 关注
  • 177 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信