Методы Laravel для создания более коротких коллекций на основе ключей массива

Если у вас есть массив и вы хотите создать более короткую коллекцию на основе определенных ключей, в Laravel вы можете использовать несколько методов. Вот несколько распространенных подходов:

Метод

  1. only():
    Метод only()позволяет создать новую коллекцию, содержащую только указанные ключи из исходный массив. Он фильтрует коллекцию и возвращает новую коллекцию с нужными ключами. Вот пример:

    $array = ['name' => 'John', 'age' => 25, 'email' => 'john@example.com', 'country' => 'USA'];
    $collection = collect($array)->only(['name', 'email']);
    // Output: ['name' => 'John', 'email' => 'john@example.com']
  2. Метод

  3. pluck().
    Метод pluck()полезен, когда вы хотите извлечь определенное значение из каждого элемента коллекции на основе по предоставленному ключу. Он возвращает новую коллекцию с указанными значениями. Вот пример:

    $array = [
       ['name' => 'John', 'age' => 25],
       ['name' => 'Jane', 'age' => 30],
       ['name' => 'Bob', 'age' => 35]
    ];
    $collection = collect($array)->pluck('name');
    // Output: ['John', 'Jane', 'Bob']
  4. Метод

  5. map():
    Метод map()позволяет преобразовывать каждый элемент коллекции на основе функции обратного вызова. Вы можете использовать его для извлечения определенных ключей и создания новой коллекции с этими ключами. Вот пример:

    $array = [
       ['name' => 'John', 'age' => 25],
       ['name' => 'Jane', 'age' => 30],
       ['name' => 'Bob', 'age' => 35]
    ];
    $collection = collect($array)->map(function ($item) {
       return ['name' => $item['name']];
    });
    // Output: [['name' => 'John'], ['name' => 'Jane'], ['name' => 'Bob']]

Это всего лишь несколько методов, которые вы можете использовать для создания более короткой коллекции на основе определенных ключей в Laravel.