示例#1
0
文件: Base.php 项目: nanjingboy/clown
 protected function _parseConditions($metadata)
 {
     $conditions = array('sql' => '', 'values' => array());
     if (isset($metadata['conditions'])) {
         $conditions = SqlBuilder::parseConditions($metadata['conditions']);
     }
     $defaultCondition = $this->_parseDefaultCondition($metadata);
     if (empty($conditions['sql'])) {
         $conditions['sql'] = $defaultCondition['sql'];
     } else {
         $conditions['sql'] = "({$conditions['sql']}) AND ({$defaultCondition['sql']})";
     }
     array_push($conditions['values'], $defaultCondition['value']);
     return array_merge(array($conditions['sql']), $conditions['values']);
 }
示例#2
0
 public static function destroyAll($conditions = array())
 {
     $params = SqlBuilder::parseDestroySql(static::table(), $conditions);
     return Connection::instance()->execute($params['sql'], $params['values']);
 }
示例#3
0
 public function testParseDestroySql()
 {
     $this->assertEquals(array('sql' => 'DELETE FROM `user`', 'values' => array()), SqlBuilder::parseDestroySql('user'));
     $this->assertEquals(array('sql' => 'DELETE FROM `user` WHERE id = ? OR first_name = ?', 'values' => array(1, 'Tom')), SqlBuilder::parseDestroySql('user', array('id = ? OR first_name = ?', 1, 'Tom')));
 }