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

如何知道 foreach (刀片模板)上是否没有打印任何内容

如何知道 foreach (刀片模板)上是否没有打印任何内容

PHP
慕姐8265434 2022-07-09 16:48:14
我的 laravel 视图中有 2 个嵌套循环@foreach ($clubs as $club)<div class="jumbotron text-center"><h1>{{$club->nom}}</h1></div><div class="container"><div class="row">    <div class="col-sm-12">        <h3>Grupos</h3>        @foreach ($grupos as $grupo)            @if ($grupo->club == $club->id)                <p>                    <strong>Nombre: </strong> {{$grupo->nom}} <br>                    <strong>Tipo: </strong> Grupo de {{$grupo->tipo}} <br>                    <strong>Horario disponible: </strong> {{$grupo->dia}}, {{$grupo->horario}} <br>                </p>            @endif        @endforeach    </div>    </div></div>@endforeach$grupos 是一个包含我的组表中所有组的数组,我遍历整个内容并仅在外键俱乐部等于当前正在迭代的当前俱乐部时打印信息。如果没有,则不会打印任何信息,但我想打印一条消息,表明在该迭代期间没有打印任何内容,有什么办法可以做到吗?这是我想要的输出的一个例子id 为 1 的俱乐部 A 有 5 个组id 为 2 的俱乐部 B 有 0 个组------ 俱乐部 A --------第 1 组第 2 组第 3 组第 4 组第 5 组------- 俱乐部 B -------该俱乐部没有团体
查看完整描述

1 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

你需要一些关系来实现这一点。在这一点上,$grupos所有俱乐部都是一样的。以下是您的最小表结构应该如何:


俱乐部


id (BIGINT 20)

name (VARCHAR 255)

团体


id (BIGINT 20)

name (VARCHAR 255)

club_id (BIGINT 20)

现在您可以设置模型:


俱乐部.php


<?php


namespace App;


use Illuminate\Database\Eloquent\Model;


class Club extends Model

{

    protected $table = 'clubs';


    public function groups () {

        return $this->hasMany(Group::class);

    }

}

组.php


<?php


namespace App;


use Illuminate\Database\Eloquent\Model;


class Group extends Model

{

    protected $table = 'groups';


    public function club () {

        return $this->belongsTo(Club::class);

    }

}

现在,在您加载视图的控制器中,您可以获取所有数据并将其传递:


俱乐部控制器.php


<?php


namespace App\Http\Controllers;


use App\Club;

use Illuminate\Http\Request;


class ClubController extends Controller

{

    public function index (Request $request) {

        $clubs = Club::with('groups')->get();

        return view('clubs', ['clubs' => $clubs]);

    }

}

现在,在您的视图中显示俱乐部:


俱乐部.blade.php


@foreach($clubs as $club)

    <h1>Club: {{ $club->name }}</h1>

    @if($club->groups)

        <h2>Groups:</h2>

        <ul>

            @foreach($club->groups as $group)

                <li>{{ $group->name }}</li>

            @endforeach

        </ul>

    @else

        <h2>This club has no groups.</h2>

    @endif

    <br>

@endforeach

我希望这对您有所帮助,并让您更好地了解如何在 Laravel 中使用关系 :)


查看完整回答
反对 回复 2022-07-09
  • 1 回答
  • 0 关注
  • 100 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号