Laravel наберите значение и добавьте дополнительную строку - PullRequest
0 голосов
/ 20 января 2020

Я получаю список книг через pluck

$outputArray = $list->pluck('title', 'id')->toArray();

, поэтому у меня есть список всех возможных книг. Затем через $books_selected = $books->pluck('title', 'id')->toArray(); у меня есть выбранные книги. В моем выходном массиве я хотел бы добавить True, если id находится в $ books_selected и false в противном случае. Есть ли способ сделать это?

1 Ответ

0 голосов
/ 20 января 2020

Одним из способов будет использование Collections#map:

$outputArray = $list
  ->pluck('title', 'id')
  ->map(function ($title, $id) use ($books_selected) {
    return [$title, in_array($id, $books_selected)];
  });

или в более короткой форме, если вы используете PHP 7.4:

$outputArray = $list
  ->pluck('title', 'id')
  ->map(fn($title, $id) => [$title, in_array($id, $books_selected)]);

Ваш окончательный массив должен быть в этой форме:

[
  id1 => ['title1', true],
  id2 => ['title2', false],
  ...
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...