Example #1
0
 /**
  * Set all the table rows at once
  *
  * @param  array  $rows
  * @param  string $resultsAs
  * @return Result
  */
 public function setRows(array $rows = null, $resultsAs = \Pop\Db\Record::ROW_AS_RESULT)
 {
     $this->columns = [];
     $this->rows = [];
     if (null !== $rows) {
         $this->columns = isset($rows[0]) ? (array) $rows[0] : [];
         foreach ($rows as $row) {
             switch ($resultsAs) {
                 case \Pop\Db\Record::ROW_AS_ARRAY:
                     $this->rows[] = (array) $row;
                     break;
                 case \Pop\Db\Record::ROW_AS_OBJECT:
                     $this->rows[] = new \ArrayObject((array) $row, \ArrayObject::ARRAY_AS_PROPS);
                     break;
                 default:
                     $r = new self($this->db, $this->table, $this->primaryKeys);
                     $r->setColumns((array) $row, $resultsAs);
                     $this->rows[] = $r;
             }
         }
     }
 }