Laravel, проверьте, есть ли значение в некоторой коллекции (в блейде) - PullRequest
0 голосов
/ 10 июля 2019

У меня есть 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 }}">

1 Ответ

1 голос
/ 10 июля 2019

Я не знаю, какие конкретные поля находятся на $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

В основном,вытяните идентификаторы $some в массив, сравните текущий зацикленный $item->id (из $all) и, если он попадет, извлеките конкретный соответствующий объект $some (идентификатор из $some и id изтекущее значение $all) и получите нужное значение из любого поля, которое вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...