首页 > 解决方案 > Laravel,检查值是否在某个集合中(在刀片中)

问题描述

我有 2 个集合,$all具有所有值 (5),并且$some只有 2 个值。我正在尝试这样做:对于 $all 的每个值,如果循环中的该项目在 $some 集合中,则将该 $some 项目的值(类似的东西)放入输入中:

@foreach($all as $item)
    <div>
        @if(in_array($item->id, $some))
            <input type="number" value="{{ Here I need to put the value of $some where id of some be teh same of $all }}">
        @else
            <input type="number" value="0">
        @endif
    </div>
@endforeach

我不知道如何阅读和决定刀片内部的所有内容。

编辑:我正在尝试这样的事情:

@if(in_array($item->id, $some))
    <input type="number"  value="{{ $some->find($item->id)->value }}">

标签: laravel

解决方案


我不知道具体的字段是什么$some,但你可以做你想做的(替换你需要比较或显示的字段),如下所示:

@if(in_array($item->id, $some->pluck('id')->toArray()))
    <input type="number" value="{{ $some->where('id', $item->id)->first()->fieldYouWant}}">
@else
    <input type="number" value="0">
@endif

基本上,将$someids 拉入一个数组,比较当前循环$item->id(从$all),如果它命中,拉出$some匹配的特定对象(从 id和当前项目) $some,并从您需要的任何字段中获取您需要的值是叫。id$all


推荐阅读