Php 如果应用了条件,如何限制foreach值内的数据?

Php 如果应用了条件,如何限制foreach值内的数据?,php,laravel,Php,Laravel,在我的刀片模板中,我应用了foreach循环。来自foreach循环的数据来自我想展示的关系。在这个循环中,我必须通过应用IF条件来显示三种不同类型的数据。从我的后端我已经通过了整个收集,没有限制或分页到前面。我想限制刀片模板中的数据 blade view @foreach($ft->menus as $menu) @if($menu->foodtype_id == $ft->id) //want to limti data here

在我的刀片模板中,我应用了foreach循环。来自foreach循环的数据来自我想展示的关系。在这个循环中,我必须通过应用IF条件来显示三种不同类型的数据。从我的后端我已经通过了整个收集,没有限制或分页到前面。我想限制刀片模板中的数据

blade view

@foreach($ft->menus as $menu)
    @if($menu->foodtype_id == $ft->id)
            //want to limti data here 
            // for every food type i want to show 6 data
    @endif
@endforeach
控制器页

$data['food_type'] = FoodType::with('menus')->get();

如果我理解正确,您希望为每种食物类型显示6行关系。然后,您必须检查循环中的当前密钥

@foreach ($data['food_type'] as $ft)
    @foreach ($ft->menus as $key => $menu)
        @if ($key < 6)
            {{ $menu->attribute }}
        @else
            @break
        @endif
    @endforeach
@endforeach

那么你有什么问题?@lagbox我不能用我给出的条件限制数据。我想在每个($menu->foodtype_id==$ft->id)“显示6个数据”中显示6个数据。。。这意味着什么?因为我已经应用了条件(如果($menu->foodtype\u id==$ft->id)),我希望每个食物类型有6个数据。有3种食物类型,我总共需要18个数据。每种食物6英镑type@aashishthapamagar当你已经在循环关系时,你当前的状态是无用的。为你更新我的答案。
@foreach ($ft->menus()->limit(6)->get() as $menu)
    {{ $menu->attribute }}
@endforeach