__toString(). * * @return string a nicely formatted string representation of this object */ public function __toString() { return sprintf('%s', $this->Model); } public function InsertWithId() { $objDatabase = Product::GetDatabase(); $strQuery = 'INSERT INTO `product` ( `id`, `manufacturer_id`, `supplier_id`, `name`, `model`, `short_description`, `long_description`, `msrp`, `wholesale_price`, `retail_price`, `cost`, `weight`, `height`, `width`, `depth`, `is_virtual`, `type_id`, `status_id`, `view_count`, `user_permissions_id`, `public_permissions_id`, `group_permissions_id`'; if( '' != $this->strCreationDate ) $strQuery .= ',`creation_date`'; $strQuery .= ') VALUES ( ' . $objDatabase->SqlVariable($this->intId) . ', ' . $objDatabase->SqlVariable($this->intManufacturerId) . ', ' . $objDatabase->SqlVariable($this->intSupplierId) . ', ' . $objDatabase->SqlVariable($this->strName) . ', ' . $objDatabase->SqlVariable($this->strModel) . ', ' . $objDatabase->SqlVariable($this->strShortDescription) . ', ' . $objDatabase->SqlVariable($this->strLongDescription) . ', ' . $objDatabase->SqlVariable($this->fltMsrp) . ', ' . $objDatabase->SqlVariable($this->fltWholesalePrice) . ', ' . $objDatabase->SqlVariable($this->fltRetailPrice) . ', ' . $objDatabase->SqlVariable($this->fltCost) . ', ' . $objDatabase->SqlVariable($this->fltWeight) . ', ' . $objDatabase->SqlVariable($this->fltHeight) . ', ' . $objDatabase->SqlVariable($this->fltWidth) . ', ' . $objDatabase->SqlVariable($this->fltDepth) . ', ' . $objDatabase->SqlVariable($this->blnIsVirtual) . ', ' . $objDatabase->SqlVariable($this->intTypeId) . ', ' . $objDatabase->SqlVariable($this->intStatusId) . ', ' . $objDatabase->SqlVariable($this->intViewCount) . ', ' . $objDatabase->SqlVariable($this->intUserPermissionsId) . ', ' . $objDatabase->SqlVariable($this->intPublicPermissionsId) . ', ' . $objDatabase->SqlVariable($this->intGroupPermissionsId) ; if( '' != $this->strCreationDate ) $strQuery .= ', ' . $objDatabase->SqlVariable($this->strCreationDate); $strQuery .= ' )'; try{ $objDatabase->NonQuery($strQuery); } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } $this->__blnRestored = true; } public function __get($strName) { switch ($strName) { case 'RetailPrice': return number_format($this->fltRetailPrice, 2); default: try { return parent::__get($strName); } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } } } public function __set($strName, $mixValue) { switch ($strName) { case 'Id': try { return ($this->intId = QType::Cast($mixValue, QType::Integer)); } catch (QInvalidCastException $objExc) { $objExc->IncrementOffset(); throw $objExc; } case 'CreationDate': try { return ($this->strCreationDate = QType::Cast($mixValue, QType::String)); } catch (QInvalidCastException $objExc) { $objExc->IncrementOffset(); throw $objExc; } default: try { return (parent::__set($strName, $mixValue)); } catch (QCallerException $objExc) { $objExc->IncrementOffset(); throw $objExc; } } } // Override or Create New Load/Count methods // (For obvious reasons, these methods are commented out... // but feel free to use these as a starting point) /* public static function LoadArrayBySample($strParam1, $intParam2, $objOptionalClauses = null) { // This will return an array of Product objects return Product::QueryArray( QQ::AndCondition( QQ::Equal(QQN::Product()->Param1, $strParam1), QQ::GreaterThan(QQN::Product()->Param2, $intParam2) ), $objOptionalClauses ); } public static function LoadBySample($strParam1, $intParam2, $objOptionalClauses = null) { // This will return a single Product object return Product::QuerySingle( QQ::AndCondition( QQ::Equal(QQN::Product()->Param1, $strParam1), QQ::GreaterThan(QQN::Product()->Param2, $intParam2) ), $objOptionalClauses ); } public static function CountBySample($strParam1, $intParam2, $objOptionalClauses = null) { // This will return a count of Product objects return Product::QueryCount( QQ::AndCondition( QQ::Equal(QQN::Product()->Param1, $strParam1), QQ::Equal(QQN::Product()->Param2, $intParam2) ), $objOptionalClauses ); } public static function LoadArrayBySample($strParam1, $intParam2, $objOptionalClauses) { // Performing the load manually (instead of using Qcodo Query) // Get the Database Object for this Class $objDatabase = Product::GetDatabase(); // Properly Escape All Input Parameters using Database->SqlVariable() $strParam1 = $objDatabase->SqlVariable($strParam1); $intParam2 = $objDatabase->SqlVariable($intParam2); // Setup the SQL Query $strQuery = sprintf(' SELECT `product`.* FROM `product` AS `product` WHERE param_1 = %s AND param_2 < %s', $strParam1, $intParam2); // Perform the Query and Instantiate the Result $objDbResult = $objDatabase->Query($strQuery); return Product::InstantiateDbResult($objDbResult); } */ } ?>