From cbb7a11179b9c1c46e35f04d07d6386a44e400b2 Mon Sep 17 00:00:00 2001 From: wei <> Date: Sun, 23 Jul 2006 11:11:21 +0000 Subject: Update time-tracker demo and add simple dynamic SQLMap --- .../SQLMap/Statements/TSimpleDynamicSql.php | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 framework/DataAccess/SQLMap/Statements/TSimpleDynamicSql.php (limited to 'framework/DataAccess/SQLMap/Statements/TSimpleDynamicSql.php') diff --git a/framework/DataAccess/SQLMap/Statements/TSimpleDynamicSql.php b/framework/DataAccess/SQLMap/Statements/TSimpleDynamicSql.php new file mode 100644 index 00000000..1230b4f7 --- /dev/null +++ b/framework/DataAccess/SQLMap/Statements/TSimpleDynamicSql.php @@ -0,0 +1,32 @@ +_mappings = $mappings; + } + + public function getPreparedStatement($parameter=null) + { + $statement = parent::getPreparedStatement($parameter); + if($parameter !== null) + $this->mapDynamicParameter($statement, $parameter); + return $statement; + } + + protected function mapDynamicParameter($statement, $parameter) + { + $sql = $statement->getPreparedSql(); + foreach($this->_mappings as $property) + { + $value = TPropertyAccess::get($parameter, $property); + $sql = preg_replace('/'.TSimpleDynamicParser::DYNAMIC_TOKEN.'/', $value, $sql, 1); + } + $statement->setPreparedSql($sql); + } +} + +?> \ No newline at end of file -- cgit v1.2.3