code: private function indexBuckets($buckets, $indexBy)
      {
          $result = [];
          foreach ($buckets as $key => $models) {
              $result[$key] = [];
              foreach ($models as $model) {
                  $index = is_string($indexBy) ? $model[$indexBy] : call_user_func($indexBy, $model);
                  $result[$key][$index] = $model;
              }
          }
  
          return $result;
      }
docs: Indexes buckets by column name.
  
  @param array $buckets
  @param string|callable $indexBy the name of the column by which the query results should be indexed by.
  This can also be a callable (e.g. anonymous function) that returns the index value based on the given row data.
  @return array