Beispiel #1
0
 /**
  * Get an array with the values of a given column.
  *
  * @param  string  $column
  * @param  string  $key
  * @return array
  */
 public function lists($column, $key = null)
 {
     $results = $this->query->lists($column, $key);
     // If the model has a mutator for the requested column, we will spin through
     // the results and mutate the values so that the mutated version of these
     // columns are returned as you would expect from these Eloquent models.
     if ($this->model->hasGetMutator($column)) {
         foreach ($results as $key => &$value) {
             $fill = array($column => $value);
             $value = $this->model->newFromBuilder($fill)->{$column};
         }
     }
     return $results;
 }
Beispiel #2
0
 /**
  * Get an array with the values of a given column.
  *
  * @param  string  $column
  * @param  string  $key
  * @return array
  */
 public function lists($column, $key = null)
 {
     if ($key == '_id') {
         $results = new Collection($this->get([$column, $key]));
         // Convert MongoId's to strings so that lists can do its work.
         $results = $results->map(function ($item) {
             $item['_id'] = (string) $item['_id'];
             return $item;
         });
         return $results->lists($column, $key);
     }
     return parent::lists($column, $key);
 }
 /**
  * Alternative pluck to stay backwards compatible with Laravel 5.1 LTS.
  *
  * @param Builder $query
  * @param $column
  * @param null $key
  * @return array|mixed
  */
 public static function pluckOrLists(Builder $query, $column, $key = null)
 {
     if (\Illuminate\Foundation\Application::VERSION < '5.2') {
         $result = $query->lists($column, $key);
     } else {
         $result = $query->pluck($column, $key);
     }
     return $result;
 }