You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<?php namespace Majestic\Model;
use Illuminate\Support\Contracts\ArrayableInterface;
class SqlResultCollection extends \ArrayIterator implements iSqlResultItems, ArrayableInterface { private $items;
public function __construct($items) { $this->items = $items; foreach ($items as $item) { parent::append($item); } }
/** * @return DbStatement[] */ public function fetchAll() { return (array) $this; }
/** * @param $field * @return mixed */ public function fetchField($field) { $item = $this->offsetGet(0); return $item->{$field}; }
/** * @return mixed */ public function fetch() { return $this->offsetGet(0); }
public function assoc($field, $assoc_as_array = false) { $sql_result_provider = new SqlResultProvider($this->items); return $sql_result_provider->assoc($field, $assoc_as_array); }
/** * Get the collection of items as a plain array. * * @return array */ public function toArray() { return array_map(function($value) { return $value instanceof ArrayableInterface ? $value->toArray() : $value;
}, $this->items); } }
|