public static function rowToItem($row, $itemName = null) { if (!$row) { return null; } if (!$itemName) { $itemName = Lms_Item::getCallingItemName(); } Lms_Item::initStructure(Lms_Item::getClassName($itemName)); $simplePk = Lms_Item::getSimplePk($itemName); $tableName = Lms_Item::getTableName($itemName); Lms_Item_Store::setValues($tableName, $row[$simplePk], $row, true); return Lms_Item::create($itemName, $row[$simplePk]); }
private static function _exec($itemName, $fields, $keyField, $ids, $foreignKey = null) { if (!count($ids)) { return array(); } if (count($fields)) { $escapedFields = array(); foreach ($fields as $fieldName) { $escapedFields[] = self::$_db->escape($fieldName, true); } $sqlFields = implode(',', $escapedFields); } else { $sqlFields = '*'; } $tableName = Lms_Item::getTableName($itemName); $query = "SELECT {$sqlFields} FROM {$tableName} WHERE ?# IN (?a)"; $rows = self::$_db->select($query, $keyField, $ids); return self::_fillData($tableName, $rows, $foreignKey); }