/** * Update a single row with a key = val, does NOT work across joins, main table only * * @param array $id Pk value to update * @param string $col Key to update should be in format 'table.element' * @param string $val Val to set to * * @return void */ public function updateRow($id, $col, $val) { $field = FabrikString::shortColname($col); if (empty($field) || empty($id)) { return; } $db = $this->getDb(); $table = $this->getTable(); $query = $db->getQuery(true); $query->update($db->qn($table->db_table_name))->set($db->qn($field) . ' = ' . $db->q($val))->where($table->db_primary_key . ' = ' . $db->q($id)); $db->setQuery($query); $db->execute(); }