Exemple #1
0
 /**
  * get a row of data from the table
  *
  * @param int $id
  * @param bool format the data
  * @param bool load the rows joined data @since 2.0.5 (used in J Content plugin)
  * @return object row
  */
 function getRow($id, $format = false, $loadJoin = false)
 {
     if (!isset($this->rows)) {
         $this->rows = array();
     }
     $sig = $id . '.' . $format . '.' . $loadJoin;
     if (array_key_exists($sig, $this->rows)) {
         return $this->rows[$sig];
     }
     $fabrikDb =& $this->getDb();
     $formModel =& $this->getFormModel();
     $formModel->_rowId = $id;
     unset($formModel->query);
     $sql = $formModel->_buildQuery();
     $fabrikDb->setQuery($sql);
     if (!$loadJoin) {
         if ($format == true) {
             $row = $fabrikDb->loadObject();
             $row = array($row);
             $this->formatData($row);
             $row = $row[FabrikWorker::firstKey($row)];
             $this->rows[$sig] = empty($row) ? new stdClass() : $row[0];
         } else {
             $this->rows[$sig] = $fabrikDb->loadObject();
         }
     } else {
         $rows = $fabrikDb->loadObjectList();
         $formModel->setJoinData($rows);
         $this->rows[$sig] = empty($rows) ? new stdClass() : $rows[0];
     }
     return $this->rows[$sig];
 }