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

如何使用 Laravel 显示基于 hasmany 关系的记录

如何使用 Laravel 显示基于 hasmany 关系的记录

PHP
aluckdog 2022-01-24 10:50:35
如何根据订阅状态显示所有用户,比如在列表中首先显示所有高级用户,然后显示黄金、白银、免费用户等?User::with('subscriptions')->get(); // List of all users with subscriptions.// Users Modelpublic function subscriptions() {   return $this->hasMany('App\Subscription');}// View@foreach($users as $user)   {{ $user->name }}@endoreach
查看完整描述

1 回答

?
四季花海

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

不确定您是如何设置表格的,但这应该适合您(使用level订阅中调用的字段):


User::with(['subscriptions' => function($query){

    $query->orderBy('subscriptions.level');

}])->get();

这应该根据订阅的“级别”进行排序。然后,在您的刀片视图中(假设某种表或其他东西),您可以调用用户名,然后根据关系调用订阅级别:


@foreach($users as $user)

 <td>{{ $user->name }}</td>

 <td>

      @foreach($user->subscriptions as $sub)

        {{ $sub->level}}

        {{$loop->last? "":" | "}}

      @endforeach

 </td>

@endforeach

这是提供多个订阅的一种方法 - 在订阅级别的表格单元格中的每个订阅之间使用管道


查看完整回答
反对 回复 2022-01-24
  • 1 回答
  • 0 关注
  • 139 浏览

添加回答

举报

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