Пример #1
0
 /**
  * 
  * Fetches eager results into an existing single native array row.
  * 
  * @param Solar_Sql_Model_Params_Eager $eager The eager params.
  * 
  * @param array &$array The existing native result row.
  * 
  * @return void
  * 
  */
 protected function _fetchIntoArrayOne($eager, &$array)
 {
     $where = array();
     $col = "{$eager['alias']}.{$this->foreign_col}";
     $where["{$col} = ?"] = $array[$this->native_col];
     $where = array_merge($where, $this->getForeignConditions($eager['alias']));
     $params = array('alias' => $eager['alias'], 'cols' => $eager['cols'], 'where' => $where, 'order' => $this->order, 'eager' => $eager['eager']);
     if ($this->isOne()) {
         $data = $this->_foreign_model->fetchOneAsArray($params);
     } elseif ($this->isMany()) {
         $data = $this->_foreign_model->fetchAllAsArray($params);
     }
     $array[$this->name] = $data;
 }