Illuminate\Support\Collection::keyBy PHP Method

keyBy() public method

Key an associative array by a field or using a callback.
public keyBy ( callable | string $keyBy ) : static
$keyBy callable | string
return static
    public function keyBy($keyBy)
    {
        $keyBy = $this->valueRetriever($keyBy);
        $results = [];
        foreach ($this->items as $key => $item) {
            $resolvedKey = $keyBy($item, $key);
            if (is_object($resolvedKey)) {
                $resolvedKey = (string) $resolvedKey;
            }
            $results[$resolvedKey] = $item;
        }
        return new static($results);
    }

Usage Example

 public function getCollectionFromCart($cart)
 {
     $collection = new Collection();
     if ($cart->ProductCount == 1) {
         $collection = new Collection([$cart->Items->CartLine]);
     } elseif ($cart->ProductCount > 1) {
         $collection = new Collection($cart->Items->CartLine);
     }
     return $collection->keyBy('ProductId');
 }
All Usage Examples Of Illuminate\Support\Collection::keyBy