Как извлечь значение из этой коллекции для вставки в таблицу «многие ко многим»? - PullRequest
0 голосов
/ 10 марта 2020

Как мне извлечь эту коллекцию?

/ * Коллекция * /

Collection {#366
  #items: array:1 [
    "books" => array:2 [
      0 => array:2 [
        "id" => 4
        "description" => "Adipisci non enim vi"
      ]
      1 => array:2 [
        "id" => 6
        "description" => "Ex et alias et cum b"
      ]
    ]
  ]
}

для вставки в таблицу с именем book_publisher, которая содержит book_id publisher_id, который равен текущему publisher_id, а также описание равно book_details ..

1 Ответ

0 голосов
/ 10 марта 2020
  1. Вы можете использовать метод сбора pluck-метод , чтобы указать book_id в качестве ключа и description в качестве значения, а затем использовать mapWithKeys изменить description на ['book_details' => $item].

  2. Использовать метод «многие ко многим» метод присоединения , чтобы построить взаимосвязь.

Предполагается, что коллекция хранится в $items:

$datas = $items->pluck('description', 'id')->mapWithKeys(function($item, $key) {
    return [$key => ['book_details' => $item]];
});

$current_publisher->books()->attach($datas);
...