Laravel Collection Filter - получить значение фильтра - PullRequest
0 голосов
/ 04 марта 2019

У меня есть этот фильтр коллекции в шаблоне блейда, и я хочу показать только поле значения.На самом деле я получаю отфильтрованный массив обратно.

{{ $room->products->filter( function($value, $key){ if( $value['product_id'] == 71 ){ return $value['value']; } }) }}

вывод:

[{"id":10,"product_id":71,"room_id":2,"value":"3896"}]

я хочу показать только поле значения

1 Ответ

0 голосов
/ 04 марта 2019

Вы можете использовать метод pluck следующим образом:

$room->products
     ->filter( function($value, $key) { 
          return $value['product_id'] == 71
     })
     ->pluck('value');

, а затем вы можете использовать метод first, чтобы получить только первыйvalue.

Однако, в вашем случае, если вам всегда будет нужен только один результат из фильтра, вы можете использовать метод firstWhere.Например, вы можете сделать:

{{ $room->products->firstWhere('product_id', 71)['value'] }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...