public function update($data = null) { if (is_null($data) || !is_array($data)) { $data = $this->dumpChanged(); } else { $param = self::getParams(get_called_class()); $this->updateData($data, $param); $data = $this->dumpChanged(); } // $filter = array(); // foreach($data as $k=>$v) { // if(!isset($param[$k])) { // alert("未知的欄位資訊:".$key); // } // $filter[$k] = $param[$k]; // } // $changed = filter_var_array($changed, $filter); // if(in_array(null, $changed, true)) { // $key = array_search(null, $changed, true); // alert("缺乏欄位資訊:".$key); // } $this->validate($data, true); $this->sanitize($data); DBC::query(DBC::wrapUpdateSQL($this->tablename, $data, $this->pk)); }